2009-02-20 10 views
35

私はGroovyクラスからJavaクラスのmethondを呼び出そうとしています。 JavaメソッドにはパラメータとしてString配列があり、GroovyクラスにはStringのコレクションがあります。 GroovyコレクションをJava String配列に変換するにはどうすればよいですか?Groovy StringコレクションをJava String Arrayに変換するにはどうすればよいですか?

Javaメソッド:

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

    } 
} 

グルービーコード

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

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

答えて

76

正しいことを、def data = ["a","b","c"]が一覧ではない配列です。

ただ、このようにキャストしてみてください:

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

私は よりgroovier何か(String []型)data.toArray(新しいString [data.size]) おかげがあった知っていました! –

関連する問題