Java Arrays.asList sul tipo di matrice primitiva produce un tipo di lista inatteso

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.