Ho un con un gruppo di Integers
in esso. Voglio trasformarlo in un array, ma chiamandoCome posso convertire un Java HashSet <Integer> in un array primitivo int?
hashset.toArray();
restituisce un Object[]
. C'è un modo migliore per lanciarlo su un array di int
diverso dall'iterazione manuale di ogni elemento? Voglio passare la matrice per
void doSomething(int[] arr)
che non accetterà l'array Object [], anche se cerco il cast come
doSomething((int[]) hashSet.toArray());
+1 automatico per raccomandare Apache Commons. – skaffman
@skaffman Mi raccomando Apache Commons Lang ... non per questo particolare problema però ... ma comunque, fai la tua mossa;) – sfussenegger
In realtà, non itera dietro le quinte - itera due volte. Esiste un 'Integer []' non necessario che rallenta il processo di creazione di una matrice primitiva da una raccolta. In realtà, penso che la scelta di usare 'Integer []' come parametro per 'toPrimitive (..)' invece di 'Iterable' è un po 'goffo come 'Arrays.asList (Integer [])' è un'operazione molto più veloce di 'collection.toArray()'. Quindi non automaticamente +1 per raccomandare commons apache :) –
sfussenegger