equals()
メソッドを最適化する(と同様に、compareTo()
メソッドも)パフォーマンスのホットスポットになる可能性があります(たとえば、トラフィックが多い場合はHashMap
)。私は、必要があると判明した場合に、これらの方法を最適化するために人々が採用したトリックを疑問に思っていました。equal()メソッド
のIntelliJ IDEAは、例えば、以下を生成します。あなたはそれに遭遇してきた他に何
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
...
}
は良い実行equals()
方法を記述するための指針になることができますか?
同等の値で呼び出されたときに、同じインスタンスをハッシュテーブルから削除するというファクトリメソッドについて説明しておきます。 – devgeezer
「介入」には注意が必要です。誤って実行されると、パフォーマンス上の問題やストレージリークが発生する可能性があります。実際、String.intern()を呼び出すのは悪い考えです。 –
これは留意すべき注意事項です。私はEquals(...)が容認できないほど長い時間を取っているという確かな証拠がない限り、最適化のための私のアドバイスは、通常は他の場所に見えるでしょう。 – devgeezer