java - 从数组返回流作为 int[] 而不是 Integer[]

标签 java arrays integer java-stream

我有这个数组:

Integer[] originalItems = itemsArray.stream()
            .distinct()
            .sorted()
            .toArray(Integer[]::new);

我想将其返回为 int[]而不是 Integer[] .

我尝试调用.toArray(int[]::new)但我收到此错误:

no instance(s) of type variable(s) A exist so that int[] conforms to A[]

最佳答案

.mapToInt(Integer::intValue).toArray();

而不是

.toArray(Integer[]::new);

因为

<A> A[] toArray(IntFunction<A[]> generator);

不适用于原始类型。

关于java - 从数组返回流作为 int[] 而不是 Integer[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61188177/

相关文章:

python - 稀疏数组的 numpy 向量列表

javascript - 将函数作为参数传递给 array.prototype.filter

javascript - 从数组中返回奇数或偶数

python-3.x - 无效的int()的Python文字,基数为: 'N' Error为10

java - eclipse RCP : How to download delta pack from software site in the Target Definition file?

java - 如何在 Spring 中为包(包括子包)中的每个 bean id 添加常量字符串前缀?

java - Java Set并发修改异常

java - java中的滚动超链接

r - 为什么整数除法的结果类别不是整数?

ruby - 按方法的结果对哈希进行排序,将 nil 结果排序到底部