收集器:: toList循环推理

时间:2015-11-07 18:56:18

标签: java java-8 java-stream

在下面的代码中,Intellij说“循环推理”

List<String> rows = new ArrayList<>();
rows.add("12345");
rows.add("123");
rows.add("123456");
rows = rows.stream().filter(e -> e.length() > 4).collect(Collectors::toList);
rows.stream().forEach(System.out::println);

Collectors::toList一定存在一些我无法理解的问题。

1 个答案:

答案 0 :(得分:5)

collect期望Collector不是功能接口,因此您无法使用lambda或方法引用来提供其实现。

您只需使用Collectors.toList()返回收集列表中元素的收集器实例。