Java Language Conversione di matrici tra primitive e tipi scatolati

Esempio

A volte è necessaria la conversione di tipi primitivi in tipi in scatola .

Per convertire l'array, è possibile utilizzare gli stream (in Java 8 e versioni successive):

Java SE 8
int[] primitiveArray = {1, 2, 3, 4};
Integer[] boxedArray = 
    Arrays.stream(primitiveArray).boxed().toArray(Integer[]::new);

Con versioni inferiori può essere iterando l'array primitivo e copiandolo esplicitamente all'array scatolato:

Java SE 8
int[] primitiveArray = {1, 2, 3, 4};
Integer[] boxedArray = new Integer[primitiveArray.length];
for (int i = 0; i < primitiveArray.length; ++i) {
    boxedArray[i] = primitiveArray[i]; // Each element is autoboxed here
}

Allo stesso modo, una matrice in scatola può essere convertita in una matrice della sua controparte primitiva:

Java SE 8
Integer[] boxedArray = {1, 2, 3, 4};
int[] primitiveArray = 
    Arrays.stream(boxedArray).mapToInt(Integer::intValue).toArray();
Java SE 8
Integer[] boxedArray = {1, 2, 3, 4};
int[] primitiveArray = new int[boxedArray.length];
for (int i = 0; i < boxedArray.length; ++i) {
    primitiveArray[i] = boxedArray[i]; // Each element is outboxed here
}