我有代码:
int[] values = { 1, 4, 9, 16 };
Stream<Integer> ints = Stream.of(values);
Run Code Online (Sandbox Code Playgroud)
这给了我编译错误.但:
int[] values = { 1, 4, 9, 16 };
Stream<Integer> ints = Stream.of(new Integer[] {1, 4, 9, 16});
Run Code Online (Sandbox Code Playgroud)
不这样做.为什么?
Jea*_*ard 12
在第一示例中,要传递的基元阵列ints到Stream#of可采取任一对象,或对象的阵列.基元不是对象.
在第二个例子中,它编译因为你传入一个数组Integer.
您可以使用IntStream#of哪个接受int数组.
因为int[]和Integer[]是不同的类型。第一个是基元数组,第二个是类型为对象的数组Integer。
您可以使用IntStream.of(int[])或Stream.of(Integer[])
| 归档时间: |
|
| 查看次数: |
4167 次 |
| 最近记录: |