使用多维数组参数从Xtend调用到Java

时间:2018-07-17 16:03:56

标签: xtend

我需要从Xtend调用Java方法,该方法需要一个二维数组,例如:

  

javafunc(字符串[] [] {{“ 0”,“ 1”}。{“ 2”,“ 3”}})

我最初的想法是编写一个Java静态方法来接受数组列表, 将其转换为二维数组,然后调用基础Java方法。在此之前,我想知道是否有更好的解决方案。这个有点难看。

1 个答案:

答案 0 :(得分:0)

如果要避免使用数组,可以使用成对列表。

#["0" -> "1", "1" -> "2"]

我将使用扩展功能对其进行转换,而不是为Java函数编写包装器。这样就更可重用。

javafunc(#["0" -> "1", "1" -> "2"].toArrays)

def String[][] toArrays(Iterable<Pair<String,String>> pairs) {
    // convert pairs to 2d array ...
}

这是否是一个好的解决方案,虽然在某种程度上取决于数据表示什么,但是如果键和值之间没有明显的关系,则对可能会造成混淆。