Convertir la liste en tableau. java.lang.ArrayStoreException
Il y a une liste:
List<Integer[]> myList = new ArrayList<Integer[]>();
Il contient une seule et même entrée, mais peut contenir plusieurs entrées:
myList = [[2,null,1,null,null,3,6,1,1]]
J'ai besoin de convertir cette liste dans le tableau Integer[][]
mais la conversion échoue en raison de valeurs null:
Integer[] myArr = myList.toArray(new Integer[myList.size()]);
Comment résoudre ce problème?
Edit#1
J'ai besoin d'obtenir:
myArr = [2,null,1,null,null,3,6,1,1]
source d'informationauteur Klausos Klausos
Vous devez vous connecter pour publier un commentaire.
Essayez ceci (en supposant que vous avez fait le
List<Integer[]>
vous avez parlé dans votre commentaire):Si vous convertissez une liste de tableaux un tableau, vous obtenez un 2 dimensions tableau et donc votre paramètre doit être un aussi.
Fonctionne pour moi
Si vous avez un
avec un seul tableau, vous pouvez le faire
null
jamais provoque une ArrayStoreException pour unnew Integer[]
Êtes-vous sûr que ce que vous faites. J'ai essayé ce code et il fonctionne très bien:
Affichage "2,null,1".
Cependant, si dans la "boucle" je change "Integer i" à "int i" l'autoboxing échoue avec une NullPointerException sur l'élément de valeur null.
Aussi longtemps que vous faites un tableau sur Entier les objets (et pas int primitives) et traiter que les éléments du tableau que le nombre Entier d'objets (de ne pas faire quelque chose qui va déclencher l'autoboxing/unboxing), vous devez être bien.
Sinon, vous avez juste à supprimer manuellement toutes les valeurs null à partir de votre Liste avant de se tourner vers un tableau