Java 无法将IntStream转换为某些对象流
我尝试使用Java 无法将IntStream转换为某些对象流,java,lambda,java-8,java-stream,Java,Lambda,Java 8,Java Stream,我尝试使用IntStream来实例化对象流: Stream<MyObject> myObjects = IntStream .range(0, count) .map(id -> new MyObject(id)); 流myObjects= IntStream .范围(0,计数) .map(id->newmyobject(id)); 但是它说,它不能将MyObject转换为int使用IntUnaryOperator(int转换
IntStream
来实例化对象流:
Stream<MyObject> myObjects =
IntStream
.range(0, count)
.map(id -> new MyObject(id));
流myObjects=
IntStream
.范围(0,计数)
.map(id->newmyobject(id));
但是它说,它不能将MyObject
转换为int
使用IntUnaryOperator
(int
转换为int
)将int
映射为更多的int
),而不是对象
通常,所有流的map
方法将流的类型映射到自身,而mapToXyz
映射到不同的类型
相反,请尝试使用int函数(int
对象)代替
这将把intstream
转换为指定对象类型的Stream
,mapToObj
接受函数
有一种方法intStream.boxed()
将intStream直接转换为Stream或.mapToObj(MyObject::new)
…
.mapToObj(id -> new MyObject(id));
Stream stream2 = intStream.mapToObj( i -> new ClassName(i));