Inspectopedia Help

'Comparator' combinator can be used

Reports Comparator instances defined as lambda expressions that could be expressed using Comparator.comparing() calls. Chained comparisons which can be replaced by Comparator.thenComparing() expression are also reported.

Example:

myList.sort((person1, person2) -> person1.getName().compareTo(person2.getName())); myList2.sort((person1, person2) -> { int res = person1.first().compareTo(person2.first()); if(res == 0) res = person1.second().compareTo(person2.second()); if(res == 0) res = person1.third() - person2.third(); return res; });

After the quick-fixes are applied:

myList.sort(Comparator.comparing(Person::getName)); myList2.sort(Comparator.comparing(Person::first) .thenComparing(Person::second) .thenComparingInt(Person::third));

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023