Use Pattern Matching for instanceof

Inspections can guide us to use new Java features

If our code uses an instanceof followed by a cast, IntelliJ IDEA highlights these with a warning and suggests replacing this with pattern matching for instanceof. Note that this is only available if you're using a language level of Java 16 or above.

In Depth

Press ⌥⏎ (macOS) or Alt+Enter (Windows/Linux) and choose "Replace with pattern variable".

public class PatternMatchingSwitch {
void outputValueInUpperCase(Object obj) {
if (obj instanceof String) {
String s = (String) obj;
System.out.println(s);
}
}
}

You can press ⌥⏎ (macOS) or Alt+Enter (Windows/Linux) and choose "Replace 's' with pattern variable".

public class PatternMatchingSwitch {
void outputValueInUpperCase(Object obj) {
if (obj instanceof String s) {
System.out.println(s);
}
}
}