gpt4 book ai didi

java - 如何使用Guava的ClassToInstanceMap

转载 作者:行者123 更新时间:2023-11-30 04:49:06 27 4
gpt4 key购买 nike

我尝试与 Guava 的 ClassToInstanceMap<MyObject> 合作.

我想让我的客户使用一种方法addMyObject(MyObject) ,所以我尝试编写这些方法:

private final ClassToInstanceMap<MyObject> instances = MutableClassToInstanceMap.create();

public void addMyObject1(MyObject o) {
instances.putInstance(o.getClass(), o);
}

public <O extends MyObject> void addMyObject2(O o) {
instances.putInstance(o.getClass(), o);
}

但是自然地,这两种方法都不能编译。

那么,如何正确使用它呢?

最佳答案

由于您确定 oMyObject 的实例,因此您实际上不需要使用类型安全的 putInstance方法。您可以只使用标准的 put():

private final ClassToInstanceMap<MyObject> instances = MutableClassToInstanceMap.create();

public void addMyObject(MyObject o) {
instances.put(o.getClass(), o);
}

ClassToInstanceMap 无论如何都会对实例的类型进行运行时检查。

也就是说,我对使用类型安全方法来执行此操作感兴趣。也许有一些 Java 泛型魔法:)

关于java - 如何使用Guava的ClassToInstanceMap<B>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10246757/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com