1

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、なぜcontainsremoveメソッドは型の引数を取るように宣言されているのObjectですか?このaddメソッドは型の引数を取りますがE、なぜ同じことをしないcontainsremoveですか?

4

1 に答える 1

-1

これは単純に、ジェネリックが Java に追加される前の時点との後方互換性のためです。

このようにして、古いコードはまだ機能します。

于 2013-02-28T20:07:36.713 に答える