2013-08-24 17 views
5

Sto tentando di creare un elenco di coppie chiave-valore. Ecco quello che ho finora:Creare un elenco di oggetti valore chiave

Map<Integer,String> map = new HashMap<Integer,String>().put(songID, songList.get(i).name); 

Questo mi dà il seguente errore:

Type mismatch: cannot convert from String to Map

Inoltre, come faccio a scorrere questi? Grazie!

risposta

12

Quando si chiama put sulla mappa di tipo Map <Integer,String>, si otterrà la stringa restituita. Quindi, quando si esegue questa operazione:

new HashMap<Integer,String>().put(songID, songList.get(i).name); 

verrà restituito un String

e quando si tenta di assegnarlo a una mappa

Map<Integer,String> map 

compilatore genera un errore,

Type mismatch: cannot convert from String to Map

Ecco la firma del modulo di metodo put javadocs:

public V put(K key, 
      V value) 

è necessario abbattere il questo complesso affermazione problematica:

Map<Integer,String> map = new HashMap<Integer,String>().put(songID, songList.get(i).name); 

a qualcosa di simile:

Map<Integer,String> map = new HashMap<Integer,String>(); 

map.put(songID, songList.get(i).name); 
+1

grazie per aver risolto il problema e averlo spiegato passo dopo passo. Sono stato confuso con i due passaggi inizialmente quando l'ho visto su un'altra domanda. –

+0

È anche possibile sfruttare classi interne anonime quando è necessario. Ma ho sentito che non tutti sono a loro agio. – dans3itz

0

La risposta in questa discussione: Java HashMap associative multi dimensional array can not create or add elements

ha un esempio di come farlo.

+1

Francamente, non sono sicuro di come la tua risposta riguardi la domanda. (Non ho mai votato btw) –

+0

Riguarda la domanda perché contiene un esempio di come risolvere questo problema. L'esempio mostra come creare una HashMap e inserire più coppie di valori-chiave in essa. –

+1

Non ho votato nemmeno su questo (solo in upvoted) ma quella pagina aveva un sacco di informazioni, grazie! Ho visto molte pagine simili ma l'ho perso. Modifica il mio post iniziale con risposta. –

Problemi correlati