有没有办法转换Stream<int[]>为Stream<Integer>int[] arr2 = new int[] { 54, 432, 53, 21, 43 };// Below gives me Stream<int[]> Stream.of(arr2); // I want to convert it to Stream<Integer>
3 回答
qq_花开花谢_0
TA贡献1835条经验 获得超7个赞
你可以使用Arrays.stream()
Arrays.stream(arr2).boxed(); // will return Stream<Integer>
或者IntStream.of
IntStream.of(arr2).boxed(); // will return Stream<Integer>
流<整数> boxed()
返回由该流的元素组成的 Stream,每个元素都装箱为 Integer。
这是一个中间操作。
潇潇雨雨
TA贡献1833条经验 获得超4个赞
在这种情况下有一个问题。
让我们看一个例子。如果您有一组原语并尝试直接创建一个流,您将拥有一个数组对象的流,如下所示:
// Arrays of primitives
int[] nums = {1, 2, 3, 4, 5};
Stream.of(nums); // One element int[] | Stream<int[]>
要解决此问题,您可以使用:
Arrays.stream(nums).count(); // Five Elements
IntStream.of(nums).count(); // Five Elements
添加回答
举报
0/150
提交
取消