Expression is compared to itself
Reports comparisons where left and right operand represent the identical expression. While sometimes comparing an expression with itself could be intended, in most cases, it is an oversight.
Example:
// Probably left.getLength() == right.getLength() was intended
boolean result = left.getLength() == left.getLength();
- By ID
Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.
ExpressionComparedToItself
To ignore comparisons that may produce side effects, use the Ignore conditions with side effects option. Disabling this option may lead to false-positives, for example, when the same method returns different values on subsequent invocations.
Example:
native int unknownMethod();
...
if (unknownMethod() > unknownMethod()) {
System.out.println("Got it");
}
Due to possible side effects of unknownMethod()
(on the example), the warning will only be triggered if the Ignore conditions with side effects option is disabled.
New in 2024.2
Here you can find the description of settings available for the Expression is compared to itself inspection, and the reference of their default values.
Inspection Details | |
---|---|
By default bundled with: | |
Can be installed with plugin: | Java, 243.23126 |
Thanks for your feedback!