Art*_*oom 4 java arrays primitive java-8 java-stream
为什么int数组的非重复计数返回的结果与Integer数组的计数不同?在这两种情况下,我都希望得到3的结果。
int[] numbers1 = { 1, 2, 3 };
System.out.println("numbers1: " + Arrays.toString(numbers1));
System.out.println("distinct numbers1 count: " + Stream.of(numbers1).distinct().count());
Integer[] numbers2 = { 1, 2, 3 };
System.out.println("numbers2: " + Arrays.toString(numbers2));
System.out.println("distinct numbers2 count: " + Stream.of(numbers2).distinct().count());
Run Code Online (Sandbox Code Playgroud)
结果
numbers1: [1, 2, 3]
distinct numbers1 count: 1
numbers2: [1, 2, 3]
distinct numbers2 count: 3
Run Code Online (Sandbox Code Playgroud)
在第一种情况下,Stream.of(numbers1)is 的类型为,Stream<int[]>并且其中仅包含一个值。
在第二种情况下,Stream.of(numbers2)is 的类型为Stream<Integer>3,其中有3个不同的值。
您可以IntStream.of(1, 2, 3)用来获取原始流int。
| 归档时间: |
|
| 查看次数: |
129 次 |
| 最近记录: |