2

重複の可能性:
Java コレクションの remove メソッドが一般的でないのはなぜですか?

なぜMyDamnedUnclearList.remove()メソッドが(or ) をとらObject elementないのか知っている人はいますか?T elementV extends T element

intIntegerJava の両方の型が混在するバグを見つけるのに 2 時間を費やしました (List<Thread>リスト内...

4

1 に答える 1

1

この問題は、既存のコードと仕様の下位互換性に関係しています。

Map.get(Object key) が (完全に) ジェネリックではない理由は何ですか?

そのすべてはJavadocの詳細にあります:

boolean remove(Object o)

指定された要素の 1 つのインスタンスが存在する場合は、このコレクションから削除します (オプションの操作)。より正式には、(o==null ? e==null : o.equals(e)) となる要素 e を削除します (このコレクションにそのような要素が 1 つ以上含まれている場合)。このコレクションに指定された要素が含まれていた場合 (または、呼び出しの結果としてこのコレクションが変更された場合) は true を返します。

したがって、オブジェクトが等しいというだけで同じ型を持っているかどうかは問題ではないことがわかります。

于 2012-04-17T22:17:36.200 に答える