如何将Groovy字符串集合转换为Java字符串数组?

57

我试图从Groovy类中调用Java类的一个方法。该Java方法有一个String数组作为参数,而在我的Groovy类中我有一组字符串。如何将Groovy集合转换为Java字符串数组?

Java方法:

public class SomeJavaClass{
  public void helpDoSomething(String[] stuff){

  }
}

Groovy 代码

class SomeGroovyClass {
  def data = ["a", "b", "c"]

  def doSomething = {
    def javaClass = new SomeJavaClass()
    javaClass(data) //Groovy passes ArrayList, Java class expects String[] ???
  }
}
1个回答

113

为了准确,def data = ["a","b","c"] 是一个List而不是数组。

尝试像这样进行转换:

def data = ["a","b","c"] as String[]

6
我知道有比 (String[])data.toArray(new String[data.size]) 更酷的东西。 - Kevin Williams

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接