Po wywołaniu put
na mapie typu Map <Integer,String>
, otrzymasz Zwrot String. Więc kiedy to zrobić:
new HashMap<Integer,String>().put(songID, songList.get(i).name);
zwróci ona String
i podczas próby przypisać go do mapy
Map<Integer,String> map
kompilator zgłasza błąd,
Type mismatch: cannot convert from String to Map
Oto podpis metody wprowadzania formularza javadocs:
public V put(K key,
V value)
trzeba rozbić ten złożony problematyczny oświadczenie:
Map<Integer,String> map = new HashMap<Integer,String>().put(songID, songList.get(i).name);
do czegoś podobnego:
Map<Integer,String> map = new HashMap<Integer,String>();
map.put(songID, songList.get(i).name);
dziękuję za rozwiązanie problemu i wyjaśnienie go krok po kroku. Początkowo myliłem się z tymi dwoma krokami, gdy zobaczyłem to na innym pytaniu. –
Możesz także wykorzystać anonimowe klasy wewnętrzne, kiedy zajdzie taka potrzeba. Ale słyszę, że nie wszyscy są z nimi dobrze. – dans3itz