IDEA-160239 Warn about using Integer::min, Integer::max where Comparator expected

This commit is contained in:
Tagir Valeev
2016-08-25 12:33:03 +03:00
parent cda735ca81
commit f96b5696c3
9 changed files with 215 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
// "Replace with Comparator.naturalOrder()" "true"
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
public class Main {
public static void main(String[] args) {
List<Integer> ints = Arrays.asList(3,12,-2,3,-1,-4,4,args.length);
System.out.println(ints.stream().max(Comparator.naturalOrder()));
}
}

View File

@@ -0,0 +1,13 @@
// "Replace with Comparator.reverseOrder()" "true"
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
public class Main {
public static void main(String[] args) {
List<Integer> ints = Arrays.asList(3,12,-2,3,-1,-4,4,args.length);
ints.sort(Comparator.reverseOrder());
System.out.println(ints);
}
}

View File

@@ -0,0 +1,16 @@
// "Replace with Comparator.naturalOrder()" "false"
import java.util.Arrays;
import java.util.List;
public class Main {
static class Integer {
static int max(int a, int b) {
return a == b ? 0 : a < b ? -1 : 1;
}
}
public static void main(String[] args) {
List<java.lang.Integer> ints = Arrays.asList(3,12,-2,3,-1,-4,4,args.length);
System.out.println(ints.stream().max(Int<caret>eger::max));
}
}

View File

@@ -0,0 +1,11 @@
// "Replace with Comparator.naturalOrder()" "true"
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
public class Main {
public static void main(String[] args) {
List<Integer> ints = Arrays.asList(3,12,-2,3,-1,-4,4,args.length);
System.out.println(ints.stream().max(Int<caret>eger::max));
}
}

View File

@@ -0,0 +1,12 @@
// "Replace with Comparator.reverseOrder()" "true"
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
public class Main {
public static void main(String[] args) {
List<Integer> ints = Arrays.asList(3,12,-2,3,-1,-4,4,args.length);
ints.sort(Math::m<caret>in);
System.out.println(ints);
}
}