Inspectopedia Help

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