Как преобразовать коллекцию Groovy String в массив строк Java? - PullRequest
43 голосов
/ 20 февраля 2009

Я пытаюсь вызвать метонд в классе Java из класса Groovy. У метода Java есть массив String в качестве параметра, и у меня есть коллекция Strings в моем классе 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 Ответ

88 голосов
/ 20 февраля 2009

Если быть точным, def data = ["a","b","c"] это список, а не массив.

Просто попробуйте сыграть так:

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