'instanceof' with incompatible type
Reports instanceof
expressions where the expression that is checked has a class/interface type that neither extends/implements the class/interface type on the right-side of the instanceof
expression, nor has subclasses that do.
Although it could be intended for e.g. library code, such a construct is likely erroneous, because no instance of any class declared in the project could pass this instanceof
test.
Example:
class Foo { }
interface Bar { }
class Main {
void test(Foo f, Bar b) {
if (f instanceof Bar) { // problem
System.out.println("fail");
}
if (b instanceof Foo) { // problem
System.out.println("fail");
}
}
}
Locating this inspection
- 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.
InstanceofIncompatibleInterface- Via Settings dialog
Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.
Availability
- By default bundled with
- Can be installed with plugin
Java, 241.18072
Last modified: 18 June 2024