Inspectopedia Help

Invalid method reference used for 'Comparator'

Reports method references mapped to the Comparator interface that don't fulfill its contract.

Some method references, like Integer::max, can be mapped to the Comparator interface. However, using them as Comparator is meaningless and the result might be unpredictable.

Example:

ArrayList<Integer> ints = foo(); ints.sort(Math::min);

After the quick-fix is applied:

ArrayList<Integer> ints = foo(); ints.sort(Comparator.reverseOrder());

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023