2009-02-20 19 views
35

Estoy tratando de llamar a un methond en una clase de Java de una clase de Groovy. El método Java tiene una matriz String como parámetro, y tengo una colección de Strings en mi clase Groovy. ¿Cómo convierto la colección Groovy a una matriz Java String?¿Cómo convierto una colección de Groovy String a una Java String Array?

Java Método:

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

    } 
} 

código Groovy

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

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

Respuesta

76

Para ser correcto, def data = ["a","b","c"] es una lista, no una matriz.

Sólo trate de fundición así:

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

yo sabía que había algo más groovy que (String []) data.toArray (nueva cadena [data.size]) Gracias !!! –