PatternMatchingInstanceof
This code can be simplified to use a pattern-matching instanceof.

Severity
WARNING

The problem

Pattern matching with instanceof allows writing this:

void handle(Object o) {
  if (o instanceof Point(int x, int y)) {
    handlePoint(x, y);
  } else if (o instanceof String s) {
    handleString(s);
  }
}

which is more concise than an instanceof and a separate cast:

void handle(Object o) {
  if (o instanceof Point) {
    Point point = (Point) o;
    handlePoint(point.x(), point.y());
  } else if (o instanceof String) {
    String s = (String) o;
    handleString(s);
  }
}

For more information on pattern matching and instanceof, see Pattern Matching for the instanceof Operator

Suppression

Suppress false positives by adding the suppression annotation @SuppressWarnings("PatternMatchingInstanceof") to the enclosing element.