From 9a1cfdb7a6ed18a508ff97222252d0958224f338 Mon Sep 17 00:00:00 2001 From: Mikhail Pyltsin Date: Mon, 29 Sep 2025 12:07:55 +0200 Subject: [PATCH] [java-inspections] IDEA-379697 False warning about Comparator.nullsLast/nullsFirst passing null to comparator argument GitOrigin-RevId: d3e361fa960d2b3ca36a54c98ccca4863c03c343 --- .../dataFlow/fixture/ComparatorComparingContract.java | 10 ++++++++++ java/jdkAnnotations/java/util/annotations.xml | 2 ++ 2 files changed, 12 insertions(+) diff --git a/java/java-tests/testData/inspection/dataFlow/fixture/ComparatorComparingContract.java b/java/java-tests/testData/inspection/dataFlow/fixture/ComparatorComparingContract.java index ffe85e2141c5..e00e8fb1bd33 100644 --- a/java/java-tests/testData/inspection/dataFlow/fixture/ComparatorComparingContract.java +++ b/java/java-tests/testData/inspection/dataFlow/fixture/ComparatorComparingContract.java @@ -2,6 +2,8 @@ import org.jetbrains.annotations.Nullable; import java.util.*; +import static java.util.Comparator.*; + public class ComparatorComparingContract { Comparator comparatorMR = Comparator.comparing(MyObj::getName); Comparator comparatorLambda = Comparator.comparing(myObj -> myObj.getName()); @@ -9,4 +11,12 @@ public class ComparatorComparingContract { interface MyObj { @Nullable String getName(); } + + public static List nullComparator() { + final List<@Nullable Integer> list = new ArrayList<>(); + list.add(null); + list.sort(nullsFirst(Integer::compareTo)); + list.sort(nullsLast(Integer::compareTo)); + return list; + } } diff --git a/java/jdkAnnotations/java/util/annotations.xml b/java/jdkAnnotations/java/util/annotations.xml index 81aba88a42be..21d527a59c92 100644 --- a/java/jdkAnnotations/java/util/annotations.xml +++ b/java/jdkAnnotations/java/util/annotations.xml @@ -2766,6 +2766,7 @@ + @@ -2776,6 +2777,7 @@ +