groovy如何使用名称创建数组?

时间:2017-12-07 18:55:42

标签: java arrays groovy

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

请给我一个帮助

2 个答案:

答案 0 :(得分:2)

请改用testArray = [:]。这是不是一个数组,而是一个地图(一个LinkedHashMap是特定的,而[:]是Groovy用来创建它的文字)。 Java / Groovy中的地图是用于存储键值关系的关联数据结构。通过map[key]访问是Groovy带来的增强功能。

答案 1 :(得分:1)

数组只将int作为索引。 " FFF"不是索引的有效值,因此java崩溃,告诉你它不匹配。

如果你想创建一个2d的字符串数组,那么你应该试试这个。

String[][] testArray = new String[x][y];

其中x和y是此数组的尺寸。