IntelliJ IDEA 2017.1 Help

Generate equals() and hashCode() wizard

Code | Generate | context menu | equals() and hashCode()
Alt+Insert | context menu | equals() and hashCode()

Use this wizard to generate equals() and hashCode() methods.

ItemDescription
Page1
TemplateUse this drop-down list to select a predefined velocity template or click /help/img/idea/2017.1/browseButton.png to use Templates Dialog.
Accept subclasses as parameter to equals() methodWhile generally incompliant to Object.equals() specification, accepting subclasses might be necessary for generated method to work correctly with frameworks, which generate Proxy subclasses, like Hibernate.
Use getters during code generationIf this check box is selected, the getters are used in equals() instead of direct fields access: getField() vs field.

Click Next to open the next page.

Page 2
Choose fields to be included in equals()Select the fields that should be used to determine equality. Each of the selected field's values will be compared, and objects will be considered equal only if all the field values specified here are equivalent.
Click Next to open the next page.
Page 3
Choose fields to be included in hashCode()Select the fields to generate hash code. Note, that only the fields that were included in the equals() method, can participate in creating hash code. All these fields are selected by default, but you can deselect them, if necessary.
Click Next to open the next page.
Page 4
Select all non-null fieldsThis page appears if any of the chosen fields are of non-primitive type in order to avoid generation of unnecessary checks. In other words, if a check box for any of these fields is selected, it is presumed that such field never has a null value and such check will not be included into generated methods.
Click Finish to complete the wizard and create eqauls() and hashCode() methods.

See Also

Last modified: 18 July 2017