2013-08-19 39 views
5

Tôi là một nhà phát triển Java và học groovy ngày nay nhưng groovy đang rối tung với bộ não của tôi, có những thứ tôi cần giúp đỡ và lớn trong số họ được liệt kê ở đây:
Phím Bản đồ là Đối tượng hay không trong Groovy?

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

Trong mã ở trên inm1int2f là các biến bình thường trong Java nhưng trong groovy chúng là các giá trị chuỗi không chỉ là các biến với các giá trị String, chúng thực sự là các đối tượng String.
Tuy nhiên, đó là các Chuỗi rồi tại sao không có một hoặc hai dấu ngoặc đơn hoặc dấu ngoặc kép. Tôi không thể hiểu được khái niệm này và tôi chỉ muốn giúp đỡ của bạn một cách tồi tệ. nhưng họ có những điều như đã đề cập quá nhẹ trên.

Trả lời

15

phím đơn giản sẽ được tự động chuyển đổi sang Strings trong Groovy vì nó simplifys tạo bản đồ thông thường.

Nếu bạn muốn đánh giá các phím từ biến, sau đó bạn cần phải đặt chúng trong ngoặc đơn, ví dụ:

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

Có bạn đi !! chỉ là những gì tôi cần nghe. TY man !! –

+0

bất cứ điều gì bạn muốn nói về tài nguyên học tập –

+1

Hiện tại, nó là [wiki] (http://groovy.codehaus.org/Collections), hoặc Sách Groovy In Action (mặc dù nó khá cũ). [Blog Groovy Goodness của MrHaki] (http://mrhaki.blogspot.co.uk/search/label/Groovy%3AGoodness) cũng là một nguồn giải thích tốt :-) PS: wiki Groovy khá cũ, và trong địa điểm đã lỗi thời. Có một [nỗ lực tài liệu mới đang diễn ra tại đây] (https://github.com/groovy/groovy-core/tree/documentation/src/spec/doc) cần cải thiện rất nhiều thứ :-) –