Reputation: 2613
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
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