Using 'instanceof' with patterns
Reports instanceof
with patterns and suggests converting them to ordinary instanceof
with casts.
This inspection makes it possible to move instanceof
with patterns to a codebase using an earlier Java version by applying the quick-fix.
Note that the result can be not completely equivalent to the original instanceof
with patterns when a complex expression before instanceof
is used. In this case this expression will be reevaluated.
Example:
if (object instanceof String txt && txt.length() == 1) {
System.out.println(txt);
} else {
return;
}
System.out.println(txt);
After the quick-fix is applied:
if (object instanceof String && ((String) object).length() ==1) {
String txt = (String) object;
System.out.println(txt);
} else {
return;
}
String txt = (String) object;
System.out.println(txt);
Inspection options
Option | Type | Default |
---|---|---|
Try to preserve unused variables from patterns during quickfix | Checkbox | true |
Inspection Details | |
---|---|
Available in: | IntelliJ IDEA 2023.3, Qodana for JVM 2023.3 |
Plugin: | Java, 233.SNAPSHOT |
Last modified: 13 July 2023