重複の可能性:
Map.get(Object key) が (完全に) ジェネリックではない理由は何
ですか? contains(E e) ではなく、contains(Object o) があるのはなぜですか?
ここでわかるように、型 E のテンプレート化された java.util.List には、テンプレート化contains
されていないメソッドがありObject
ます。代わりに を使用します。誰かが理由を知っていますか?でtrue が返さ
れるのはどのような場合ですか? 私が間違っていなければ、比較対象のオブジェクトが E 型を祖先として持っていない限り (私の文字列の例では最終的であるため不可能です)List<String>
myList.contains(new OtherNonString())
String
ジェネリック以前のバージョンとの下位互換性を維持するためだけですか? それが理にかなっているユースケースを見逃していますか? 下位互換性のためだけの場合は、非推奨にして ?contains(Object)
を作成してみませんcontains(E)
か?
編集:
私のサブ質問のいくつかは以前に回答されていました. 参考までに、この質問も確認してください