IM尝试在groovy中使用此命令,但我无法打印数组
出现并出现错误
Caught: java.lang.IllegalArgumentException: argument type mismatch
java.lang.IllegalArgumentException:参数类型不匹配 在Test.main(Test.groovy:7)
我如何解决这个问题
我使用相同的命令没有这一行,这是有效的
testArray["fff"] = "B"
这是我的代码
我不知道,因为我无法创建这个二维数组
def testArray = []
testArray[0] = "A"
testArray["fff"] = "B"
testArray[2] = "C"
println testArray
请给我一个帮助
答案 0 :(得分:2)
请改用testArray = [:]
。这是不是一个数组,而是一个地图(一个LinkedHashMap
是特定的,而[:]
是Groovy用来创建它的文字)。 Java / Groovy中的地图是用于存储键值关系的关联数据结构。通过map[key]
访问是Groovy带来的增强功能。
答案 1 :(得分:1)
数组只将int作为索引。 " FFF"不是索引的有效值,因此java崩溃,告诉你它不匹配。
如果你想创建一个2d的字符串数组,那么你应该试试这个。
String[][] testArray = new String[x][y];
其中x和y是此数组的尺寸。