2015-07-16 12 views
7

Kotlin'i deniyorum ve çözemediğim küçük bir sorunla karşılaştım. Ben harita haline elemanları koyabilirsiniz aşağıdaki yapıya sahip olduğunda : Ben sadece bunları okuyabilir Map arayüzü ile bir harita oluşturmak AncakHarita arayüzü ile HashMap'e eleman yerleştirme

val map = HashMap<String, String>() 
map["asd"] = "s" 
map.put("34", "354") 

, yanlış ne yaptığımı?

val map: Map<String, String> = HashMap<String, String>(); 
map.put("24", "34") //error 
map["23"] = "23" //error 

Ya da belki de Kotlin'deki arayüzler hakkında bir şeyler karıştırıyorum?

cevap

10

İlk örnek haritada, ikinci örnekte HashMap, türünü Arabirim Haritasına atabilirsiniz.

Harita hiçbir koymak/set var, bir salt okunur haritasıdır, sen

+0

MutableMap Java geliyor kullanmalıdır haritayı düzenleyebilmek amacıyla here

bakın, o Harita hatırlamak önemlidir java.util.Map'den değil, Collections.kt dosyasında Map tan geliyor. Bir Kotlin acemi olarak, ben de bunun tarafından yakalandım. Yukarıda belirtildiği gibi Harita salt okunurdur; Harita değiştirmek için MutableMap. Ayrıca Maps.kt i.e. hashMapOf vb. Farklı haritalar oluşturmak için yardımcı yöntemler vardır. –

İlgili konular