2013-08-19 12 views
5

Jestem deweloperem Java i nauki Groovy w dzisiejszych czasach, ale Groovy jest aprowizacji z mojego mózgu, są rzeczy, których muszę pomóc, a głównym z nich jest tutaj wymienione:
Klawisze mapy są obiektami lub nie w Groovy?

def map = [inm1:'hello',int2f:'world'] 
map.keySet().each{ 
println it.class.name 
println "values of Key"+it.charAt(2) 
} 

W powyższy kod inm1 i int2f są normalne zmienne w Javie, ale w groovy są String Wartościami nie tylko zmiennych z wartościami String, w rzeczywistości są same String Objects.
Ale to są struny, dlaczego nie ma pojedynczych ani podwójnych "lub" cytatów Nie mogłem zrozumieć tej koncepcji i chcę tylko twojej pomocy źle
Daj mi również trochę zasobów do nauki groovy, znalazłem wiele zasobów ale oni biorą takie rzeczy jak powyżej wspomniano zbyt lekko.

Odpowiedz

15

Proste klawisze są automatycznie konwertowane na smyczki w Groovy gdyż simplifys regularne tworzenie mapy.

Jeśli chcesz ocenić kluczy zmiennych, to trzeba je umieścić w nawiasach, tj .:

Integer inm1 = 10 
String int2f = 'hello' 

// Regular map with string keys 
assert [ inm1:'hello', int2f:'world' ] == [ 'inm1':'hello', 'int2f':'world' ] 

// And evaluated keys in parentheses 
assert [ (inm1):'hello', (int2f):'world' ] == [ 10:'hello', 'hello':'world' ] 
+0

Idź! właśnie to, co musiałem usłyszeć. TY człowiek !! –

+0

Wszystko, co chcesz powiedzieć o zasobach edukacyjnych –

+1

Obecnie jest to [wiki] (http://groovy.codehaus.org/Collections) lub książka Groovy In Action (choć jest dość stara). Blog [MrHaki Groovy Goodness] (http://mrhaki.blogspot.co.uk/search/label/Groovy%3AGoodness) jest również dobrym źródłem wyjaśnień :-) PS: Groovy wiki jest dość stare, aw miejsca nieaktualne. Istnieje tutaj [nowa trwająca dokumentacja] (https://github.com/groovy/groovy-core/tree/documentation/src/spec/doc), która powinna znacznie poprawić sytuację :-) –

Powiązane problemy