Stream.of(int[])
返回Stream<int[]>
,而Stream.of(String[])
返回Stream<String>
。
为什么两种方法的行为不同?两者都应该返回
Stream<int>
和Stream<String>
或Stream<int[]>
和Stream<String[]>
。
static int intArr[] = { 1, 2, 3, 4, 5 };
static String stringArr[] = { "3", "6", "8","14", "15" };
Stream<int[]> stream = Stream.of(intArr);
Stream<String> stream1 = Stream.of(stringArr);
答案 0 :(得分:5)
没有Stream<int>
这样的东西,就像没有List<int>
一样。通用类型参数不能用原始类型替换。
(原始)int
元素流中有IntStream
。 IntStream.of(int... values)
和Arrays.stream(int[] array)
都会给您一个IntStream
,其元素为int
,在其中您将int[]
传递给他们。