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

Option

Type

Default

Ignore '==' between enum variables

Checkbox

true

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

Checkbox

true

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

Checkbox

false

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023