标签: java generics
我的项目中有以下代码行:
Iterator<Node> i = graph.nodes();
graph.nodes()是一个在prefuse中定义的方法。
现在我想在迭代器中添加一个类型检查,但是我该怎么做呢?
答案 0 :(得分:5)
如果您使用Guava,则可以
Iterator<Node> iterator = Iterators.filter(theOriginalIterator, Node.class);
保证返回的迭代器仅继续与提供的类型对应的元素。 (类似的方法也适用于Iterable btw)
Iterable
见
Iterators.filter(iterator, class)
Iterables.filter(iterable, class)