2011-01-27 26 views

risposta

48

byte, int sono primitivi, lavori di raccolta su oggetto. avete bisogno di qualcosa di simile

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

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

     ; 
    }; 

Questo creerà una nuova mappa e utilizzando initializer block sarà chiamare il metodo messo a riempire i dati

+0

perché downvote ?? –

+1

Non io, ma probabilmente a causa di 'new Byte ((byte) 1)' .. e forse non si basa su autoboxing .. E il non usato ';' alla fine della clausola init .. sembra solo brutto! – dacwe

+0

@dacwe grazie per avermelo ricordato. –

1

Prima di tutto, non si può avere primitive come parametri di tipo generico in Java, quindi Map<byte,int> è impossibile, dovrà essere Map<Byte,Integer>.

In secondo luogo, no, non ci sono letterali di raccolta in Java al momento, anche se sono considerati come una nuova funzionalità in Project Coin. Sfortunatamente, sono stati rilasciati da Java 7 e dovrete aspettare fino a Java 8 ...

Problemi correlati