我有这段代码:
Stream<String> stringStream = Stream.of("a", "b", "c");
Object[] arr = stringStream.toArray();
为什么 arr
不是 String[]
?
最佳答案
Stream 的 toArray 函数自然会返回一个 Object[]
。 .
这是函数的签名:
<A> A[] toArray(IntFunction<A[]> generator)
您可能会注意到有一个生成器作为参数。
IntFunction<A[]> generator
的目的就是把一个整数,也就是数组的大小,转换成一个新的数组。
获得 String[]
,你可以这样做:
Stream<String> stringStream = Stream.of("a", "b", "c");
String[] arr = stringStream.toArray(size -> new String[size]);
更多信息可以咨询Docs
希望这对您有所帮助!
关于java - String 流上的 toArray 返回 Object[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52901151/