Java: autoboxing di un array Object di interi, cast a int da LinkedList.toArray ()
-
29-10-2019 - |
Domanda
Vorrei utilizzare un codice simile al seguente:
int letterIndex[];
LinkedList<Integer> letterList;
...
if(!letterList.isEmpty()) letterIndex = (Integer[])letterList.toArray();
Tuttavia, non è consentito e, a quanto pare, il cast di Integer[]
non viene inserito automaticamente durante la conversione in int[]
.Come posso ottenere l'equivalente senza dichiarare letterIndex
come Integer[]
anziché int[]
?
Soluzione
Dovresti creare un nuovo array e assegnare ogni valore dall'array Integer[]
.
Apache commons-lang ha ArrayUtils.toPrimitive(wrapperArray)
.
Altri suggerimenti
Perché stai usando le primitive?
Puoi cambiarlo in:
Integer[] letterIndex;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow