Community
Participate
Working Groups
HEAD Add a quick fix that parametrizes simple Comparators like this one: package xy; import java.util.*; public class Try { public static void main(String[] args) { List numbers= Arrays.asList(42, 17, -4, 1, 3); foo(numbers); System.out.println(numbers); } static void foo(List list) { Collections.sort(list, new Comparator() { @Override public int compare(Object o1, Object o2) { Integer i1= (Integer) o1; Integer i2= (Integer) o2; return i1.compareTo(i2); } }); } } Expected result: Collections.sort(list, new Comparator<Integer>() { @Override public int compare(Integer i1, Integer i2) { return i1.compareTo(i2); } }); The quick fix should be smart and also work if the casts are in different order or if other statements are between the casts. It should also work if one or both of the casts are inlined, e.g. transform public int compare(Object o1, Object o2) { return ((Integer) o1).compareTo((Integer) o2); } into public int compare(Integer o1, Integer o2) { return o1.compareTo(o2); }