2009-02-20 6 views
35

Groovy sınıfından bir Java sınıfında bir yöntem çağırmaya çalışıyorum. Java yönteminde bir String dizisi parametre olarak bulunur ve Groovy sınıfımda bir dizi Dizelerim var. Groovy koleksiyonunu bir Java String dizisine nasıl dönüştürebilirim?Groovy String koleksiyonunu bir Java String Dizisine nasıl dönüştürebilirim?

Java Yöntem:

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

    } 
} 

Groovy kod

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

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

cevap

76

doğru olabilmesi için, def data = ["a","b","c"] bir listesi değil, bir dizidir.

Bunun gibi döküm deneyin:

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

ben daha groovier şey (String []) data.toArray (new String [data.size]) sayesinde olduğunu biliyordum !!! –