我正在尝试从原始数组制作一个列表
int[] values={4,5,2,3,42,60,20};
List<Integer> greaterThan4 =
Arrays.stream(values)
.filter(value -> value > 4)
.collect(Collectors.toList());
但是最后一个函数collect
给我一个错误,因为它需要其他参数。它需要3个参数Supplier,ObjIntConsumer和BiConsumer。
当我看到仅使用collect(Collectors.toList());
并获取列表的不同示例时,我不明白为什么它要3个参数。
我做错了什么?
是的,因为Arrays.stream
返回IntStream
。您可以调用boxed()
获取一个Stream<Integer>
,然后执行收集操作。
List<Integer> greaterThan4 = Arrays.stream(values)
.filter(value -> value > 4)
.boxed()
.collect(Collectors.toList());
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句