Inspectopedia Help

Object comparison using '==', instead of 'equals()'

Reports code that uses == or != rather than equals() to test for object equality.

Comparing objects using == or != is often a bug, because it compares objects by identity instead of equality. Comparisons to null are not reported.

Array, String and Number comparisons are reported by separate inspections.

Example:

if (list1 == list2) { return; }

After the quick-fix is applied:

if (Objects.equals(list1, list2)) { return; }

Use the inspection settings to configure exceptions for this inspection.

Inspection options

Here you can find the description of settings available for the Object comparison using '==', instead of 'equals()' inspection, and the reference of their default values.

Ignore '==' between enum variables

Default: Selected

Ignore '==' between final class types without 'equals()' implementation

Default: Selected

Ignore '==' between objects of a type with only 'private' constructors

Not selected

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

Java, 241.16690

Last modified: 29 April 2024