TL;DR: あなたがやろうとしていることは意味がありません。一歩下がって、より大きなタスクに別の方法で取り組むようにしてください。
A が B.constitutingObects の一部である場合、クラス A はクラス B と等しいように既にオーバーライドされています。
それは非常に悪い考えのように聞こえます。これらのオブジェクトが何を表しているのかを判断するのは困難ですが、コレクションを含むものはそのコレクションの要素と論理的に同等ではありません。買い物リストは「牛乳」と同等ではありません。
ドキュメントで指定された要件に従う必要があることを忘れないでください。java.lang.Object
他の多くのコードは、これらの保証に依存します。
hashCode
定数を返すだけじゃないと実装は基本的に無理です。2 つの等しいオブジェクトのハッシュ コードは等しくなければなりません。これは、 の任意のインスタンスのハッシュ コードが のすべての要素のClassB
ハッシュ コードと等しくなければならないことを意味します。つまり、これらの要素のすべてが同じハッシュ コードを持たなければならないことを意味します。 . インスタンスがコンテナが何であるかを何らかの形で「知っていた」場合を除き、これがどのように可能になるかはわかりません。constitutingObjects
ClassA