オブジェクトのフィールドの一部だけが実際の状態を表している場合、私はequals
とhashCode
をオーバーライドするとき、これらは...equals/hashCodeのいくつかのフィールドを無視すると潜在的な落とし穴ですか?
を無視することができたと私はこのかかわらず、不安感を得る、とお聞きしたかった、
- これは一般的な方法ですか?
- この方法には潜在的な落とし穴がありますか?
equals
/hashCode
の一部のフィールドを無視することに関するドキュメントやガイドラインはありますか?私の特定の状況で
、私は、問題の状態空間を探索しています。私は訪問された州のハッシュセットを維持したいと思いますが、の州につながる道も含めることを検討しています。明らかに、2つの状態は異なるパスで見つかっても同じです。
あなたが言及したように、あなたはequalsまたはhashCode()に "path"を含めません。 –
私はこの答えが好きですが、あなたの質問は避けてください:-) – aioobe
あなたの質問に答えました。 –