5

我是一名 Java 开发人员,现在正在学习 groovy,但是 groovy 正在弄乱我的大脑,有些事情我需要帮助,其中主要列出了这里:

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

在上面的代码中 inm1int2f是 Java 中的普通变量,但在 groovy 中它们是字符串值,而不仅仅是具有字符串值的变量,它们实际上是字符串对象本身。
然而,它们是字符串,那么为什么没有单引号或双引号 " 或 ' 引号。我无法理解这个概念,我只是非常需要你的帮助。
还为我提供一些学习 groovy 的资源,我确实找到了很多资源,但它们采用了类似的东西上面说的太轻了。

4

1 回答 1

15

Groovy 中的简单键会自动转换为字符串,因为它简化了常规 Map 的创建。

如果要评估变量中的键,则需要将它们放在括号中,即:

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' ]
于 2013-08-19T09:52:24.367 回答