报告可以替换为更简洁的方法或可以从中提取中间步骤的 forEach() 调用。

示例:


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

在应用快速修复后:


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

仅当项目或模块的语言级别为 8 级或更高级别时,该检查才会进行报告。

2017.3 的新功能