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

Java迭代器:hasNext()返回true,但next()为null?,java,iterator,Java,Iterator,在后面的代码中,tupleIterator.hasNext()返回true,但tupleIterator.next()为null if (this.tupleIterator != null) { if (this.tupleIterator.hasNext()) { tuple = this.tupleIterator.next(); return tuple; } } this.tupleIterator是通过调用ArrayList上的ite

后面的代码中
tupleIterator.hasNext()
返回
true
,但
tupleIterator.next()
null

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

this.tupleIterator
是通过调用
ArrayList

上的
iterator()
方法派生的似乎您的Interator有值,但它们是作为
null
插入的。在这部分之前没有代码是很难说的。

看起来你的Interator有值,但它们被插入为
null
。在这部分之前没有代码是很难说的。

您必须在arraylist中添加了
null
,因此如果您不想在lust中使用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)
布尔加法(E)
无效添加(整数索引,E)

boolean addAll(Collection您必须在arraylist中添加了
null
,因此如果您不想在lust中使用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)
布尔加法(E)
无效添加(整数索引,E)
布尔addAll(集合