Java レコード内で宣言されている冗長なコンストラクターを報告します。

例 1:


  record Point(int x, int y) {
    public Point {} // 除去可能
  }
  
  record Point(int x, int y) {
    public Point(int x, int y) { // 除去可能
      this.x = x;
      this.y = y;
    }
  }

クイックフィックスを使用すると、冗長なコンストラクターが除去されます。

例 2:


   // コンパクトコンストラクターに変換可能
  record Range(int from, int to) {
    public Range(int from, int to) {
      if (from > to) throw new IllegalArgumentException();
      this.from = from;
      this.to = to;
    }
  }

クイックフィックスを使用すると、このコードがコンパクトコンストラクターに変換されます。

2020.1 の新機能です