sort - Java Arrays.asList en el tipo de matriz primitiva produce un tipo de lista inesperado
clase arrays java (2)
Posible duplicado:
Arrays.asList () no funciona como debería?
Aparentemente el tipo de retorno de Arrays.asList(new int[] { 1, 2, 3 });
es la List<int[]>
. Esto me parece totalmente roto. ¿Tiene esto algo que ver con Java, no con las matrices autoboxing de tipos primitivos?
El problema es que Arrays.asList
toma un parámetro de T... array
. La única T
aplicable cuando pasa el int[]
es int[]
, ya que las matrices de primitivas no se borrarán automáticamente a las matrices del tipo de objeto correspondiente (en este caso, Integer[]
).
Así que puedes hacer Arrays.asList(new Integer[] {1, 2, 3});
.
Tratar:
Arrays.asList(new Integer[] { 1, 2, 3 });
Anote entero en lugar de int . Las colecciones solo pueden contener objetos. No se permiten tipos primitivos. int
no es un objeto, pero int[]
es, así que esta es la razón por la que se obtiene una lista con un elemento.