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 depends on the Java feature 'Lambda methods in collections' which is available since Java 8.

New in 2017.3

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

Java, 241.16690

Last modified: 29 April 2024