Inspectopedia Help

'Iterator.hasNext()' which calls 'next()'

Reports implementations of Iterator.hasNext() or ListIterator.hasPrevious() that call Iterator.next() or ListIterator.previous() on the iterator instance. Such calls are almost certainly an error, as methods like hasNext() should not modify the iterators state, while next() should.

Example:

class MyIterator implements Iterator<Integer> { public boolean hasNext() { return next() != null; } }

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023