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

まれに、非対称 equals メソッドを定義して、まだ、何とかそれらのコードを機能させています。 APIのどれも文書化していないし、保証もしていないが通常の場合は Collection<String>Foo があるかどうか調べたいなら、 引数の equals メソッド (たとえば、Fooクラスの equals メソッド) を使用して等価性をチェックします。