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

时间:2016-01-24 03:31:45

标签: java iterator

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

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

你必须在arraylist中添加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)