ben Groovy yeni değilim ve haritanın kullanımı ile ilgili bir sorum var:Groovy haritası ve Java haritası Jenerik
biliyorum Yapabileceğim:
def map = [key:"value"]
Ama ne yapar eğer bunu yaparsam anlama:
Map<String, String> map = ["1":1, "2":"2"]
Bu kod derler, ancak harita gerçekten sTRING> Dize haritası değildir:
map.each({println it.key + ":" + it.value + "[" + it.value.class + "]"})
O yazdırır:
1:1[class java.lang.Integer]
2:2[class java.lang.String]
Can kimse bana> Dize STRING> Tamsayı içeren bir harita nesnesine atanabilir açıkça STRING ile yazılan bir harita gelip anlamasına yardımcı olan? Teşekkür ederim!
[Static type checking] - Incompatible generic argument types. Cannot assign java.util.Map <java.lang.String, java.io.Serializable> to: java.util.Map <String, String>
=== Güncelleme ===
sayesinde, bu bir hata atar
açıklama şimdi çok mantıklı.
hmm ... o zaman harika jenerik sözdizimi izin ne anlamı var? – ZhongYu
@ zhong.j.yu Derleyici sözdizimi denetleyicisini tutmak için heppy. Özellikle derleme zamanında çok az türde uygulama yapılır. Groovy tip uygulama açısından çok gevşek ve 'Nesnesi' türlerinin geniş kullanımı o hiç jenerikleri desteklemiyorsa – Reimeus
derleyici daha mutlu olmaz yapar? – ZhongYu