hba*_*hba 20 java lambda java-8 java-stream
我正在尝试使用一个IntStream实例化对象流:
Stream<MyObject> myObjects =
IntStream
.range(0, count)
.map(id -> new MyObject(id));
Run Code Online (Sandbox Code Playgroud)
但它说它无法转换MyObject为int.
rge*_*man 38
本IntStream类的map方法映射ints到更多的intS,用IntUnaryOperator(int到int),而不是对象.
通常,所有流的map方法都将流的类型映射到自身,并mapToXyz映射到不同的类型.
请尝试使用该mapToObj方法,而不是IntFunction(int对象).
.mapToObj(id -> new MyObject(id));
Run Code Online (Sandbox Code Playgroud)
小智 10
Stream stream2 = intStream.mapToObj( i -> new ClassName(i));
Run Code Online (Sandbox Code Playgroud)
这将转换intstream为Stream指定的对象类型,mapToObj接受一个函数。
有方法intStream.boxed()可以直接将 intStream 转换为Stream<Integer>
| 归档时间: |
|
| 查看次数: |
7350 次 |
| 最近记录: |