问问题
1659 次
2 回答
2
由于您确定这o
是 的一个实例MyObject
,因此您实际上并不需要使用类型安全的putInstance
方法。你可以只使用标准put()
:
private final ClassToInstanceMap<MyObject> instances = MutableClassToInstanceMap.create();
public void addMyObject(MyObject o) {
instances.put(o.getClass(), o);
}
ClassToInstanceMap
无论如何都会对实例的类型进行运行时检查。
也就是说,我对使用类型安全方法执行此操作的方法很感兴趣。也许是一些 Java 泛型魔法 :)
于 2012-04-20T18:43:36.873 回答
0
只是为了记录,您可以使用缩小 Class 类型
o.getClass().asSubclass(MyObject.class)
于 2012-04-23T09:06:39.263 回答