Inspectopedia Help

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

Reports implementations of Iterator.hasNext() or ListIterator.hasPrevious() that call 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.


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

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

Java, 241.16690

Last modified: 29 April 2024