我有树类,例如ClassA
, ClassB
, ClassC
。ClassA
并ClassB
扩展ClassC
。我有两个Multimaps
-Multimap<Integer, ClassA>
而且Multimap<Integer, ClassB>
我想将这两个多图合并为一个。我试图找到一些解决方案但没有成功。我试过了。喜欢Multimap<Integer, ? extends ClassC>
,但我不知道我是否做对了,是否可以将两个多图合并在一起。有人能帮我吗?感谢您的回复,我感谢您的每一个帮助。
问问题
4101 次
2 回答
8
Multimap<Integer, ? extends ClassC>
这意味着泛型类型可以是任何扩展ClassC
的类型,但类型必须是固定的。即,它可以是 allClassA
或 all ClassB
。所以你应该Multimap<Integer, ClassC>
改用。它将接受类型ClassA
和ClassB
.
于 2013-02-18T15:54:43.253 回答
7
Multimap<Integer, ClassC> combine(Multimap<Integer, ? extends ClassC> a, Multimap<Integer, ? extends ClassC> b) {
Multimap<Integer, ClassC> combined = new SetMultimap<Integer, ClassC>(); // or whatever kind you'd like
combined.putAll(a);
combined.putAll(b);
return combined;
}
于 2013-02-18T15:55:56.687 回答