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
ですか?