Back to Intellij Community

SimplifyForEach

java/java-impl/resources/inspectionDescriptions/SimplifyForEach.html

2025.3-rc-2582 B
Original Source

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;
  }

New in 2017.3