任何人都可以解释为什么在调用[:]时调用地图上的[:].类会返回null.getClass()返回预期的结果Map.见下面的例子
1-
["test",[test:"test"],23].each {
println it.class
}
class java.lang.String
null
class java.lang.Integer
Run Code Online (Sandbox Code Playgroud)
2-
["test",[test:"test"],23].each {
println it.getClass()
}
class java.lang.String
class java.util.LinkedHashMap
class java.lang.Integer
Run Code Online (Sandbox Code Playgroud)
肯
hvg*_*des 11
这是答案
http://jira.codehaus.org/browse/GROOVY-1824
编辑 - 当然.我认为地图的语义是这样的,如果你有
def m = [one:1, two:2]
Run Code Online (Sandbox Code Playgroud)
你应该能够访问地图中的条目,如
m.one
Run Code Online (Sandbox Code Playgroud)
换言之,接入到地图是像获取地图对象上的属性.如果
m.class
Run Code Online (Sandbox Code Playgroud)
返回的类,它会打破这些语义,因为"阶级"是不是添加到地图由程序员的一个关键.
那就是我收集的东西....
| 归档时间: |
|
| 查看次数: |
494 次 |
| 最近记录: |