Si vous voulez primitive tableau de type, vous pouvez utiliser la méthode Apache Commons
ArrayUtils#toPrimitive
pour obtenir primitive de tableau de tableau d'emballage: -
public static int[] toPrimitive(Integer[] array)
Vous pouvez l'utiliser comme ceci: -
int[] arr = ArrayUtils.toPrimitive((Integer[])integerArrayList.toArray());
Ou, vous pouvez utiliser la version 1-arg de toArray méthode, qui prend un tableau et renvoie le tableau de ce type uniquement. De cette façon, vous n'aurez pas à coder .
List<Integer> myList = new ArrayList<Integer>();
Integer[] wrapperArr = myList.toArray(new Integer[myList.size()]);
// If you want a `primitive` type array
int[] arr = ArrayUtils.toPrimitive(wrapperArr);
Cependant, si vous êtes Ok avec le tableau wrapper type
(ce qui ne sera certainement pas de mal à vous), alors vous ne pas besoin faire cette dernière étape.
En outre, vous pouvez également créer un tableau primitive, sans avoir à créer ce type de Wrapper tableau intermédiaire. Pour cela, vous devrez écrire par loop
: -
int[] arr = new int[myList.size()];
for(int i = 0; i < myList.size(); i++) {
if (myList.get(i) != null) {
arr[i] = myList.get(i);
}
}
'Il fait le same'. Boucle sur le tableau et crée un nouveau tableau primitif. Et ajouter une autre bibliothèque pour une fonctionnalité aussi simple n'a pas de sens. –
@AmitD. Au moins nous évite d'écrire cette boucle, pour faire le travail. –