2011-01-27 9 views

Respuesta

48

byte, int son primitivos, la colección trabaja en el objeto. se necesita algo como esto

public static Map<Byte, Integer> sizeNeeded = new HashMap<Byte, Integer>() { 

     { 
      put(new Byte("1"), 1); 
      put(new Byte("2"), 2); 
     } 

     ; 
    }; 

Esto creará un nuevo mapa y el uso de initializer block va a llamar al método puesto a llenar los datos

+0

¿por qué downvote? –

+1

Yo no, pero probablemente debido a 'byte nuevo ((byte) 1)' .. y tal vez no depender de autoboxing .. Y el '.' No utilizado al final de la cláusula init ... simplemente se ve feo! – dacwe

+0

@dacwe gracias por señalar esa cosa del reparto. –

1

En primer lugar, no se puede tener primitivas como los parámetros de tipo genérico en Java, entonces Map<byte,int> es imposible, tendrá que ser Map<Byte,Integer>.

En segundo lugar, no, no hay literales de colección en Java en este momento, aunque están siendo considerados como una nueva característica en Project Coin. Desafortunadamente, se eliminaron de Java 7 y tendrá que esperar hasta Java 8 ...

Cuestiones relacionadas