'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