Java でequalsと hashCode をオーバーライドする際に考慮すべき問題は何ですか? getClass を使用して Java で適切な等価メソッドを記述し、同等とみなす 2 つのオブジェクトの RUntime 型を比較する方法を詳細に説明しています。これを行う理由は、B が A を拡張する場合に a.equals(b) = b.equals(a) (再帰性) が必要であることを確認するためだと理解しています。
私の意見では、それは大きな制限を提供します。オブジェクト A のコレクションがある場合、それらは A のサブクラスであるため、いくつかの B オブジェクトを挿入すると、a.equals(b) は常に false になります...おそらく、特定の場合には、instanceof
ポリモーフィズムを提供するために古い演算子に固執する必要があります。サブタイプの平等を許可しますか? あなたの考えは何ですか?