Enhanced 'for' with a record pattern can be used
Reports local variable declarations and accessors to record components that can be replaced with pattern variables in enhanced `for` statements, which are usually more compact.
Example:
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);
}
}
Can be replaced with:
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);
}
}
- By ID
Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.
ForEachWithRecordPatternCanBeUsed
Use the Nesting depth limit option to specify the maximum number of nested deconstruction patterns to report
Use the Maximum number of record components to deconstruct option to specify the maximum number of components, which a record can contain to be used in deconstruction patterns
Use the Maximum number of not-used record components option to specify the maximum number of components, which are not used in
for
statement
This inspection depends on the Java feature 'Record patterns in for-each loops', which is available since Java X.
New in 2023.1
Here you can find the description of settings available for the Enhanced 'for' with a record pattern can be used inspection, and the reference of their default values.
Inspection Details | |
---|---|
By default bundled with: | |
Can be installed with plugin: | Java, 243.23126 |
Thanks for your feedback!