Kevin Williams
Kevin Williams

Reputation: 2613

How do I convert a Groovy String collection to a Java String Array?

I'm trying to call a methond on a Java class from a Groovy class. The Java method has a String array as a parameter, and I have a collection of Strings in my Groovy class. How do I convert the Groovy collection to a Java String array?

Java Method:

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

  }
}

Groovy code

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

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

Upvotes: 60

Views: 51384

Answers (1)

chanwit
chanwit

Reputation: 3214

To be correct, def data = ["a","b","c"] it is a List, not an array.

Just try casting like this:

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

Upvotes: 115

Related Questions