在java中从包装器集合创建基元数组

在java中从包装器集合创建基元数组,java,collections,Java,Collections,默认java库(没有任何外部的第三个util libs)中是否有一个fast(节省程序员时间而不是程序执行时间)实用程序方法,可以从原始包装器集合创建原始数组 例如: int[] array = magicMethod(Collection<Integer>); int[]数组=magicMethod(集合); 没有手动创建新的数组实例来迭代集合 如果不用于收集,则即使对于列表也很好。您不能,因为您至少必须检查如何将空整数转换为原始值 即使是Guava和ApacheCommons

默认java库(没有任何外部的第三个util libs)中是否有一个fast(节省程序员时间而不是程序执行时间)实用程序方法,可以从原始包装器集合创建原始数组

例如:

int[] array = magicMethod(Collection<Integer>);
int[]数组=magicMethod(集合);
没有手动创建新的数组实例来迭代集合


如果不用于收集,则即使对于
列表
也很好。

您不能,因为您至少必须检查如何将空整数转换为原始值

即使是Guava和ApacheCommons也必须在对象列表上迭代才能在内部进行转换

番石榴-


Apache Commons-http://commons.apache.org/proper/commons-lang/javadocs/api-3.1/org/apache/commons/lang3/ArrayUtils.html#toPrimitive%28java.lang.Integer[%29

我找到了此链接。。它将整数列表转换为int数组,但使用org.apache.commons.lang.ArrayUtils

这是链接


希望有帮助。

toArray()是method@Batty
toArray()
返回对象数组,而不是基元数组。@很遗憾,否,这是例如Guava创建自己的基元类型集合实现的原因之一。关于“fast”,您的基本显式循环解决方案将尽可能快。请看这里:是的,我知道包装器为null是这里最大的问题。但是没有什么不能用NullPointerException完成的。我知道有像ApacheCommons这样的实用程序库,但我对sdk的方式很感兴趣。现在我已经确认没有了。