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