Possibile duplicato:
Arrays.asList () non funziona come dovrebbe?
Apparentemente il tipo di ritorno di Arrays.asList(new int[] { 1, 2, 3 });
è List
. Questo mi sembra totalmente rotto. Questo ha qualcosa a che fare con gli array Java non autoboxing di tipi primitivi?
Il problema è che Arrays.asList
accetta un parametro di T... array
. L’unica T
applicabile quando si passa l’ int[]
è int[]
, in quanto le matrici di primitive non saranno autoboxate agli array del tipo di object corrispondente (in questo caso Integer[]
).
Quindi puoi fare Arrays.asList(new Integer[] {1, 2, 3});
.
Provare:
Arrays.asList(new Integer[] { 1, 2, 3 });
Nota Intero invece di int . Le raccolte possono contenere solo oggetti. Non sono ammessi tipi primitivi. int
non è un object, ma int[]
è, quindi è per questo che ottieni la lista con un elemento.