【发布时间】:2019-10-11 15:35:42
【问题描述】:
我想知道为什么 forEach 不适用于我的程序。我想打印列表中的每个元素。
错误:不兼容的类型:void 无法转换为 List .forEach(i -> System.out.println(i + " "));
List <Integer> evenNumList = Arrays.asList(valuesArray)
.stream()
.filter(x -> (x % 2 == 0))
.forEach(i -> `System.out.println(i + " "));`
我很困惑为什么上面的方法不起作用,但下面的方法起作用:
List <Integer> number = Arrays.asList(2,3,4,5);
number.stream().map(x->(x*x)).forEach(y->System.out.println(y));
【问题讨论】:
-
forEach 的返回类型为 void。因此,您不能将结果(没有)分配给变量(
evenNumList)。删除作业