Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
hashCode効果的なJavaアイテム9(オーバーライドするときは常にオーバーライドするequals)では、
hashCode
equals
String、Integer、DateなどのJavaプラットフォームライブラリの多くのクラスには、インスタンス値の関数としてhashCodeメソッドによって返される正確な値が仕様に含まれています。これは、将来のリリースでハッシュ関数を改善する能力を大幅に制限するため、一般的にはお勧めできません。
どういう意味ですか ?
これは、コードの新しいバージョンでハッシュ関数を書き直して、より良いハッシュプロパティを持たせることができないことを意味します。たとえば、String.hashCode()関数は高速ですが、あまり良くありません。しかし、ハッシュコードが指定されており、人々は独自のコードでその実装に依存しているため、これ以上変更することはできません。
String.hashCode()