Inspectopedia Help

'Iterator.next()' which can't throw 'NoSuchElementException'

Reports implementations of Iterator.next() that cannot throw java.util.NoSuchElementException.

Such implementations violate the contract of java.util.Iterator, and may result in subtle bugs if the iterator is used in a non-standard way.

Example:

class Numbers implements Iterator<Integer> { @Override public Integer next() { //warning if (hasNext()) { return generateNext(); } else { return null; //throw NoSuchElementException instead } } ... }

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023