5 java arrays java-8 java-stream
我有一个List<TestBuilder> testBuilders;
测试,它有一个测试类型的函数构建
我做到了testBuilders.stream().map(Test::build()).collect()
我想收集上面的array of Test i.e Test[]
我不确定里面会放什么collect function
使用终端操作Stream::toArray将项目序列打包到数组中。但是,您必须定义一个提供的生成器IntFunction<A[]>来分配返回数组的类型:
Test[] array = testBuilders.stream().map(Test::build).toArray(size -> new Test[size]);
Run Code Online (Sandbox Code Playgroud)
lambda 表达式size -> new Test[size]应替换为方法引用:
Test[] array = testBuilders.stream().map(Test::build).toArray(Test[]::new);
Run Code Online (Sandbox Code Playgroud)
您可以使用
whatever.stream().toArray(WhatEverClass[]::new);
Run Code Online (Sandbox Code Playgroud)
WhatEverClass基于该类型的“任何”对象流为该类型的对象创建一个数组。因此:不需要collect()任何东西。
| 归档时间: |
|
| 查看次数: |
9375 次 |
| 最近记录: |