将Integer 转换为int 数组

是否有一种将Integer数组转换为int数组的奇特方法? (我不想迭代每个元素;我正在寻找一种优雅而快速的方法来编写它)

我正在使用另一种方式

scaleTests.add(Arrays.stream(data).boxed().toArray(Double[]::new));

我正在寻找单线但无法找到的东西。

目标是:

 int[] valuesPrimitives =  Integer[] valuesWrapper 

您可以使用Java 8的Stream API

 int[] intArray = Arrays.stream(array).mapToInt(Integer::intValue).toArray(); 

如果您可以考虑使用Apache commons ArrayUtils,那么有一个简单的toPrimitive API:

public static double [] toPrimitive(Double [] array,double valueForNull)

将对象双精度数组转换为处理null的基元。 此方法为null输入数组返回null。

使用Guava,您可以执行以下操作:

 int[] intArray = Ints.toArray(intList); 

如果您正在使用Maven,请添加此依赖项:

  com.google.guava guava 18.0  

如果您可以访问Apache lang库,那么您可以使用ArrayUtils.toPrimitive(Integer [])方法,如下所示:

int[] newArray = ArrayUtils.toPrimitive(oldArray);