public static <T extends Comparable<? super T>> void sort(List list) 这里的T extends Comparable<? super T>表示的意思是T实现了comparable接口,这个接口的类型是它的超类。也就是?super T的意思,整个的意思comparable<? super T>的意思就是T的超类实现了comparable接口。
public static void sort(List list, Comparator<? super T> c) public static void copy(List<? super T> dest, List<? extends T> src)
这里dest.add(src.get(i)); 之前自己理解不了的是list<? super T> 既然都不知道要保存到的是什么类型,那么保存进去有什么用。实际上是理解错了,这是一个实例化的参数,在方法中做参数的时候是不知道的,实际中传入的时候是具体的类型,?super T只是一个限制。比如声明的时候可能是List<? super Integer> 实际传入的类型是List 或者List 都是具体的类型,那么是可以取出来用的
public static T max(Collection<? extends T> coll, Comparator<? super T> comp)