2009-02-20 5 views
35

Groovy 클래스의 Java 클래스에서 methond를 호출하려고합니다. Java 메소드는 String 배열을 매개 변수로 가지며 Groovy 클래스에 String 컬렉션을 가지고 있습니다. Groovy 컬렉션을 Java String 배열로 변환하려면 어떻게해야합니까?Groovy String 콜렉션을 Java String Array로 변환하는 방법은 무엇입니까?

자바 방법 :

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 일 (문자열 []) data.toArray (새 문자열 [data.size]) 감사가 알고 있었다! –

관련 문제