报告可以用记录模式替换的模式。

示例:


  record Point(int x, int y) {}

  static void printSum(Object obj) {
    if (obj instanceof Point p) {
      int x = p.x();
      int y = p.y();
      System.out.println(x + y);
    }
  }

在应用快速修复后:


  record Point(int x, int y) {}

  static void printSum(Object obj) {
    if (obj instanceof Point(int x, int y)) {
      System.out.println(x + y);
    }
  }

仅当项目或模块的语言级别为 19 或更高时,此检查才会报告。

2023.1 最新变化