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(集合