コレクションのget と put の原則を理解しています。メソッドが型 T を書き込むコレクションを受け取る場合、パラメーターは でCollection<? super T>
ある必要がありますが、型 T を読み取る場合、パラメーターは である必要がありますCollection<? extends T>
。
Collections.max()
しかし、誰かが署名を説明してもらえますか:
public static <T> T max(Collection<? extends T> coll,
Comparator<? super T> comp)
特に、なぜComparator<? super T>
代わりにComparator<? extends T>
?