pass into convertir convert como asarray array java arrays java-8 wrapper

java - into - Convertir entero[] a int[] array



pass arraylist to array (4)

¿Existe una forma elegante de convertir una matriz Integer en una matriz int? (No quiero recorrer cada elemento; estoy buscando una forma elegante y rápida de escribirlo)

Al revés estoy usando

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

Estoy buscando una sola línea pero no pude encontrar algo.

La meta es:

int[] valuesPrimitives = <somehow cast> Integer[] valuesWrapper


Puedes usar las API de Stream de Java 8

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


Si puede considerar el uso de ArrayUtils de Apache commons, entonces hay una API simple para toPrimitive :

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

Convierte una matriz de objetos Dobles a primitivos que manejan nulos. Este método devuelve nulo para una matriz de entrada nula.


Si tiene acceso a la biblioteca lang de Apache, entonces puede usar el método ArrayUtils.toPrimitive (Integer []) como este

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


Usando Guava, puedes hacer lo siguiente:

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

Si está utilizando Maven, agregue esta dependencia:

<dependency> <groudId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>18.0</version> </dependency>