我有树ClassA
类ClassB
和ClassC
. ClassA
和ClassB extends ClassC
。我已经合并了Multimap<ClassC
> 并且我有Collection
不同类型的对象。我想从中获取这些对象,Collection
但如何区分这些对象?我已经创建Collection<? super ClassC> coll = multimap.get(key)
并希望使用trnasform
方法获取这些对象,但我不知道如何区分对象的类型。你能给我建议吗?我感谢每一个帮助。
问问题
765 次
1 回答
4
通过它的声音,您实际上需要将集合过滤为您想要的类型:
Collection<? super ClassC> coll = multimap.get(key);
Iterable<ClassA> classAs = Iterables.filter(coll, ClassA.class);
Iterable<ClassB> classBs = Iterables.filter(coll, ClassB.class);
使用重载从@EtienneNeveu 更新Iterables.filter(Iterable<?> unfiltered, Class<T> type)
删除了我原始答案的任何类型问题。
于 2013-02-19T09:26:08.603 回答