报告可以转换为记录类的类。

记录类侧重于对不可变数据进行建模,而不是对可扩展行为进行建模。 数据驱动方法的自动隐式实现(例如 equals() 和访问器)有助于减少样板代码。

请注意,不是每个类都可以是记录类。 以下是一些限制:

有关记录类的完整描述,请参阅 Java 语言规范

示例:


  class Point {
    private final double x;
    private final double y;

    Point(double x, double y) {
      this.x = x;
      this.y = y;
    }

    double getX() {
      return x;
    }

    double getY() {
      return y;
    }
  }

在应用快速修复后:


  record Point(int x, int y) {
  }

启用建议重命名访问器方法选项可以自动将 getX()/isX() 访问器重命名为 x()

使用如果成员变得更易于访问选项可以指定当转换将使成员更易于访问时要执行的操作:

使用禁止转换有以下注解的类列表可在要转换的类中排除其注解匹配指定模式的类。

2020.3 最新变化