Java 迭代器:hasNext() 返回 true,但 next() 为空



following code中,tupleIterator.hasNext()返回truetupleIterator.next() null

if (this.tupleIterator != null) {
    if (this.tupleIterator.hasNext()) {
        tuple = this.tupleIterator.next();
        return tuple;
    }
}

this.tupleIterator是通过在ArrayList上调用iterator()方法派生的。

您必须在数组列表中添加了null,因此,如果您不希望在欲望中使用空值,则可以通过在向列表中添加值之前进行检查来执行此操作,或者您可以扩展 Arraylist 类和覆盖

boolean add(E e)
void add (int index, E e)
boolean addAll(Collection<? extends E> c)
boolean addAll(int index, Collection<? extends E> c)

似乎您的交互器具有值,但它们是作为null插入的。没有代码之前这部分很难说。

最新更新