我有一个非常基本的Java迭代器方案...在寻找迭代器的工作时面临以下问题

迭代器logIterator在两个while循环中将具有相同的值,还是会结束并在第二个while循环中变为null。

Set logSet=transactionLogMap.entrySet();
Iterator logIterator=logSet.iterator();
BigDecimal tempRegId=null;

while (logIterator.hasNext()) {
    tempRegId=(BigDecimal)logIterator.next();
}

if (someBoolean) {
     while (logIterator.hasNext()) {
         callsomeMethod(logIterator.next());
     }
}

最佳答案

它会在第二个循环之前结束,但不会变为null。

它只会为false返回logIterator.hasNext()

10-08 00:05