chn*_*ing 3 java java-8 java-stream
我正在尝试从原始数组中创建一个List
int[] values={4,5,2,3,42,60,20};
List<Integer> greaterThan4 =
Arrays.stream(values)
.filter(value -> value > 4)
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
但是最后一个函数collect给了我一个错误,因为它需要其他参数.它需要3个参数Supplier,ObjIntConsumer和BiConsumer.
当我看到只是使用collect(Collectors.toList());并获取列表的不同示例时,我不明白为什么它需要3个参数.
我做错了什么?
Ale*_* C. 10
是的,这是因为Arrays.stream返回IntStream.您可以调用boxed()get a Stream<Integer>然后执行collect操作.
List<Integer> greaterThan4 = Arrays.stream(values)
.filter(value -> value > 4)
.boxed()
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1198 次 |
| 最近记录: |