是否可以将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>
答案 0 :(得分:3)
您可以使用Arrays.stream()
Arrays.stream(arr2).boxed(); // will return Stream<Integer>
或IntStream.of
IntStream.of(arr2).boxed(); // will return Stream<Integer>
流 << strong>整数> boxed()
返回一个包含此流元素的流,每个元素都装在整数中。
这是一个中间操作。
答案 1 :(得分:2)
对流进行包装:
Arrays.stream(arr2).boxed();
答案 2 :(得分:1)
您可以使用此:
Cannot open assembly '/Users/graemetmcdonough/Projects/help/help/bin/DesktopGL/Any CPU/Debug/help.Desktop.exe': No such file or directory.
答案 3 :(得分:1)
您可以通过{p> 3从io.vavr创建流
Stream.ofAll(arr2)
,但是要使用整数流,应使用IntStream。您可以像这样从数组创建IntStream:
Arrays.stream(arr2)
答案 4 :(得分:0)
在这种情况下有一个问题。
让我们举个例子。如果您有一个原始数组,并尝试直接创建一个流,则将有一个这样的数组对象流:
// 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