将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);