【发布时间】:2014-04-08 15:38:04
【问题描述】:
我想创建一个HashMap,将特定的类类型映射到一个特定的新对象。
稍后我想传递类类型并获取对该特定对象的引用。 简单例子:
Map<Class<?>, ?> values = new HashMap<>();
public <T> t get(Class<T> type) {
return values.get(type);
}
//pet and car do not share any interface or parent class
class Pet;
class Car;
//error: not applicable for arguments
values.put(Pet.class, new Pet());
values.put(Car.class, new Car());
用法:
values.get(Pet.class);
我怎样才能相应地创建这样一个通用的哈希图和查找函数?
【问题讨论】:
-
您在寻找 Guava 的
ClassToInstanceMap吗? -
太好了,这可能就是我想要重塑的东西;)