类[c在groovy中

use*_*848 2 groovy list

我有一个grails的应用程序,它使用地图中包含的列表.我在我的代码中使用列表进行简单的字符串比较(例如,值[0] =="某事物").println显示值[0]为"某事",但测试总是失败.在进一步检查类的值[0] [通过值[0] .getClass()]时,我找到了类型为[C. 任何人对此都有任何线索.列表存储在地图中,我正在做map.each以获取列表(如果这有所不同).这是我的控制台中的代码和println输出.

println "it.value[0] = " + it.value[0]
println "it.value[1] = " + it.value[1]
println "it.value[2] = " + it.value[2]

println "it.value[0] class = "+ it.value[0].getClass()
println "it.value[1] class = "+ it.value[1].getClass()
println "it.value[2] class = "+ it.value[2].getClass()
Run Code Online (Sandbox Code Playgroud)

产量

it.value[0] = abc
it.value[1] = def
it.value[2] = ghi

it.value[0] class = class [C
it.value[1] class = class [C
it.value[2] class = class [C
Run Code Online (Sandbox Code Playgroud)

ata*_*lor 5

[C是原始字符数组(char[])的Java字段描述符.检查数组类型的类名时会显示这些内容.

assert ("foo" as char[]).getClass().toString() == 'class [C'
Run Code Online (Sandbox Code Playgroud)

它们如何构建的规则在字段描述符的JVM规范部分中.