Existe-t-il un moyen élégant de convertir un tableau Integer en tableau int? (Je ne veux pas parcourir chaque élément; je cherche un moyen élégant et rapide de l'écrire)
Dans l'autre sens, j'utilise
scaleTests.add(Arrays.stream(data).boxed().toArray(Double[]::new));
Je cherche un one-line mais je n'ai pas pu trouver quelque chose.
Le but est de:
int[] valuesPrimitives = <somehow cast> Integer[] valuesWrapper
Vous pouvez utiliser les API de flux de Java 8
int[] intArray = Arrays.stream(array).mapToInt(Integer::intValue).toArray();
Si vous pouvez envisager d’utiliser Apache commons ArrayUtils , alors il existe un simple toPrimitive API:
public statique double [] toPrimitive (Tableau Double [], double valueForNull)
Convertit un tableau d'objets Doubles en primitives gérant null . Cette méthode retourne null pour un tableau d'entrée nul.
En utilisant Guava, vous pouvez effectuer les opérations suivantes:
int[] intArray = Ints.toArray(intList);
Si vous utilisez Maven, ajoutez cette dépendance:
<dependency>
<groudId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>18.0</version>
</dependency>