JavaCollection<E>
インターフェイスにはcontains
、次のシグネチャを持つメソッドがあります。
boolean contains(Object o)
インターフェースはタイプのジェネリックでE
あるため、署名はすべきではありません
boolean contains(E o)
それを反映し、 type の引数のみを許可しますE
。
remove(Object o)
メソッドに関して同じ質問をすることができます
JavaCollection<E>
インターフェイスにはcontains
、次のシグネチャを持つメソッドがあります。
boolean contains(Object o)
インターフェースはタイプのジェネリックでE
あるため、署名はすべきではありません
boolean contains(E o)
それを反映し、 type の引数のみを許可しますE
。
remove(Object o)
メソッドに関して同じ質問をすることができます
contains
andメソッドは、のremove
インスタンスではない可能性のあるオブジェクトを受け入れる(そして成功する可能性がある)ため、任意のオブジェクトを受け入れますE
。の契約contains
は次のとおりです。
このコレクションに(o == null?e == null:o.equals(e))のような要素eが少なくとも1つ含まれている場合にのみ、trueを返します。
o
実際にコレクション内のオブジェクトである必要はないことに注意してください。単にequals
テストに合格する必要があります。
同じ考えが。にも当てはまりremove
ます。
このスレッドも参照してください。ここでは、作成contains
とremove
ジェネリックによって、既存の完全に有効なコードの多くが壊れていることが指摘されています。