総称型コレクションメソッドへの呼び出しにコレクションのパラメータとは互換性のないクラスの引数があります (すなわち、引数の型は総称型引数に対応するスーパタイプでもサブタイプでもありません)。
したがって、コレクションにはここで使用されたメソッド引数と等価であるどんなオブジェクトも含まれていません。
たぶん、間違った値がメソッドに渡されています。
通常、2つの無関係なクラスのインスタンスは等価ではありません。
たとえば、Foo
と Bar
クラスがサブタイプによって関係がないなら、Foo
のインスタンスは Bar
のインスタンスと等価のはずがありません。
その他の問題で、対称的ではない equals
メソッドになる可能性が高いです。
たとえば、Foo
が String
と等価であるように Foo
クラスを定義するなら、String
は String
だけと等価であるので、equals
メソッドは対称的ではありません。
まれに、非対称 equals
メソッドを定義して、まだ、何とかそれらのコードを機能させています。
APIのどれも文書化していないし、保証もしていないが通常の場合は Collection<String>
に Foo
があるかどうか調べたいなら、
引数の equals
メソッド (たとえば、Foo
クラスの equals
メソッド) を使用して等価性をチェックします。