如何将Groovy String集合转换为Java String Array?

问题描述 投票:43回答:1

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

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[] ???
  }
}
groovy collections
1个回答
88
投票

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

试试这样投射:

def data = ["a","b","c"] as String[]
© www.soinside.com 2019 - 2024. All rights reserved.