在Java中转换迭代器类型

看起来:

我有一个Iterator<TypeA>要转换为的Iterator<TypeB>TypeA和TypeB不能直接相互转换,但是我可以编写一条规则来转换它们。我该怎么做?我应该扩展并覆盖Iterator<TypeA>的next,hasNext和remove方法吗?

加里·F:

您无需自己编写。番石榴(以前是Google收藏)已在Iterators.transform(...)中介绍过

您提供了迭代器和一个将TypeA转换为TypeB的函数,就可以完成了。

Iterator<TypeA> iterA = ....;
Iterator<TypeB> iterB = Iterators.transform(iterA, new Function<TypeA, TypeB>() {
   @Override
   public TypeB apply(TypeA input) {
     TypeB output = ...;// rules to create TypeB from TypeA
     return output;
   }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章