Java
'instanceof' with incompatible type
Warning
New
Last modified: 03 December 2024 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");
}
}
}
- 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
Inspection Details | |
---|---|
By default bundled with: | |
Can be installed with plugin: | Java, 243.23126 |
Thanks for your feedback!
Was this page helpful?