Java 泛型:集合.max() 签名和比较器
我理解集合的 get and put 原则:如果一个方法接收了一个集合,它将向其写入类型 T,则该参数必须是 ,而如果它将从中读取类型 T,则该参数必须是 .Collection<? super T>
Collection<? extends T>
但是有人可以解释一下集合.max()
签名吗:
public static <T> T max(Collection<? extends T> coll,
Comparator<? super T> comp)
特别是为什么它代替?Comparator<? super T>
Comparator<? extends T>