Tôi không chắc chắn những gì tôi muốn làm là có thể, nhưng nếu có, tôi muốn tìm hiểu làm thế nào. Về cơ bản, tôi muốn tạo một Bản đồ trong đó khóa là một lớp (java.lang.Class
) và giá trị cho mục nhập đó là một thể hiện của lớp đó. Hiện tại tôi cóBản đồ Java, khóa = class, giá trị = instance của lớp đó
private Map<Class<?>, Object> myMap = new HashMap<Class<?>, Object>();
Tuy nhiên, điều này có nghĩa là mọi đối tượng đều có thể được đặt trong Bản đồ. Nếu có thể, tôi muốn làm cho nó, vì vậy chỉ có thể đặt một thể hiện của lớp trong khóa vào bản đồ. Có cách nào để sử dụng không? parametrization trên lớp để đảm bảo điều này?
Ngoài ra, tôi thấy có thể là possible memory leak khi thực hiện một việc như thế này. Tôi không chắc tôi hoàn toàn hiểu được điều này xảy ra như thế nào. Tôi sẽ chỉ dán các vật thể đơn vào bản đồ, vậy vẫn còn lo ngại về rò rỉ bộ nhớ? Nếu vậy, làm thế nào để ngăn chặn nó?
Với những gì tôi đang làm, điều không quan trọng là tôi đảm bảo điều này.Tôi chỉ muốn biết nếu nó có thể. Thật tốt khi biết tất cả điều này để tham khảo trong tương lai. – dnc253