首页 > 解决方案 > Stream.of(int[]) 返回 Stream而 Stream.of(String[]) 返回 Stream为什么?

问题描述

Stream.of(int[])返回Stream<int[]>,而Stream.of(String[]) 返回Stream<String>

为什么这两种方法的行为不同?两者都应该返回 Stream<int>andStream<String>Stream<int[]>and 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);

标签: java

解决方案


没有这种东西Stream<int>,就像没有一样List<int>。泛型类型参数不能用原始类型代替。

对于(原始)int元素流,有IntStream. IntStream.of(int... values)并且Arrays.stream(int[] array)都会给你一个IntStream,它的元素是int,你把一个传递int[]给他们。


推荐阅读