Inspectopedia Help

Simplifiable forEach() call

Reports forEach() calls that can be replaced with a more concise method or from which intermediate steps can be extracted.

Example:

List<String> findNStrings(List<String> list, int n) { List<String> other = new ArrayList<>(); list.forEach(s -> { if(s.length() > n) other.add(s); }); return other; }

After the quick-fix is applied:

List<String> findNStrings(List<String> list, int n) { List<String> other = list.stream() .filter(s -> s.length() > n) .collect(Collectors.toList()); return other; }

This inspection only reports if the language level of the project or module is 8 or higher.

New in 2017.3

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023