When I run the following code
List<Integer> l = Arrays.asList(1, 2, 3);
Collections.sort(l, Comparator.reverseOrder().reversed());
I get an error
no suitable method found for sort(java.util.List<java.lang.Integer>,java.util.Comparator<T>)
But if I add <Integer>
before reverseOrder()
, it works, which is not surprising:
List<Integer> l = Arrays.asList(1, 2, 3);
Collections.sort(l, Comparator.<Integer>reverseOrder().reversed());
Will appreciate if someone can explain why Java can’t deduce the type here.