1
4

2 に答える 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

記録のために、次を使用してクラスタイプを絞り込むことができます

o.getClass().asSubclass(MyObject.class)
于 2012-04-23T09:06:39.263 に答える