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>