IntelliJ IDEA 2026.1 Help

equals() と hashCode() のウィザードを生成する

このウィザードを使用して equals() および hashCode() メソッドを生成するを実行します。

項目

説明

ページ 1

テンプレート

定義済みの velocity テンプレートを選択するか、 参照ボタン をクリックして テンプレートダイアログ を使用します。

equals() メソッドのクラス型比較

メソッド内で生成する式を選択します。 疑問符アイコンの上にマウスを置くと、各式を使用する利点と欠点を説明するツールヒントが開きます。

instanceof 式

  • サブクラスのインスタンスがスーパークラスのインスタンスと等しくなることを許可する

  • 異なるサブクラスのインスタンスが互いに等しくなるようにする

  • 余分な null チェックを回避

  • リスコフ置換原則に従う

getClass()

  • 生成された equals() メソッドをオーバーライドしても、その契約は破られません。

利用可能な場合は getter を使用する

このチェックボックスをオンにすると、 getField()フィールド の直接フィールドアクセスではなく、 equals() で getter が使用されます。

次へ をクリックして次のページを開きます。

ページ 2

equals() に含めるフィールドの選択

同等性を判断するために使用する必要があるフィールドを選択します。 選択した各フィールドの値が比較され、ここで指定されたすべてのフィールド値が等しい場合にのみ、オブジェクトは等しいと見なされます。

次へ をクリックして次のページを開きます。

ページ 3

hashCode() に含めるフィールドの選択

ハッシュコードを生成するフィールドを選択します。 equals() メソッドに含まれているフィールドのみがハッシュコードの作成に参加できることに注意してください。 これらのフィールドはすべてデフォルトで選択されていますが、必要に応じて選択を解除できます。

次へ をクリックして次のページを開きます。

ページ 4

すべての非 NULL フィールドの選択

このページは、選択したフィールドのいずれかが非プリミティブ型の場合、不要なチェックの生成を避けるために表示されます。 つまり、これらのフィールドのいずれかのチェックボックスが選択されている場合、そのフィールドには null 値が設定されないものとみなされ、生成されたメソッドにはそのようなチェックは含まれません。

完了 をクリックしてウィザードを完了し、equals() メソッドと hashCode() メソッドを作成します。

2026 年 3 月 30 日