我想要这样的东西:

public void CopyIteratorIntoList(Iterator<Foo> fooIterator) {
    List<Foo> fooList = new ArrayList<Foo>();
    fooList.addAll(fooIterator);
}

应该等于:
public void CopyIteratorIntoList(Iterator<Foo> fooIterator) {
    List<Foo> fooList = new ArrayList<Foo>();
    while(fooIterator.hasNext())
        fooList.add(fooIterator.next());
}

API中是否有任何方法可以做到这一点,或者这是唯一的方法吗?

最佳答案

不,标准API中没有类似的东西。

在Java中,使用Iterator作为API的一部分不是习惯的(因此很不常见)。它们通常是生产出来并立即消耗掉的。

09-11 05:58