Javaコレクションフレームワークでのジェネリック型の使用について質問があります。
Setこれは、 OracleのJavaコレクションスレッド(ここにあります)から取得したインターフェイスのスニペットです。
public interface Set<E> extends Collection<E> {
// Basic operations
int size();
boolean isEmpty();
boolean contains(Object element);
// optional
boolean add(E element);
// optional
boolean remove(Object element);
...
私の質問はこれです:それSet<E>がジェネリック型パラメーターを持つジェネリックであるとするとE、なぜcontainsとremoveメソッドは型の引数を取るように宣言されているのObjectですか?このaddメソッドは型の引数を取りますがE、なぜ同じことをしないcontainsのremoveですか?