レコードクラスに変換できるクラスを報告します。

レコードクラスは拡張可能な動作ではなく、不変データのモデル化に焦点を当てています。 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 の新機能です