拡張 `for` ステートメントにあるローカル変数宣言とレコードコンポーネントへのアクセサーで、通常よりもコンパクトなパターン変数に置換できるものを報告します。

例:


record Record(Integer x, String y) {
}

public static void test(List<Record> records) {
    for (Record record : records) {
        System.out.println(record.y());
        Integer x = record.x;
        System.out.println(x);
    }
}

上のコードは下のコードに置換できます。


record Record(Integer x, String y) {
}

public static void test(List<Record> records) {
    for (Record(Integer x, String y) : records) {
        System.out.println(y);
        System.out.println(x);
    }
}

2023.1 の新機能です