2009-02-20 45 views
35

Tôi đang cố gắng gọi một methond trên một lớp Java từ một lớp Groovy. Phương thức Java có một mảng String như một tham số, và tôi có một tập hợp các Strings trong lớp Groovy của tôi. Làm thế nào để chuyển đổi bộ sưu tập Groovy thành một mảng Java String?Làm cách nào để chuyển đổi bộ sưu tập chuỗi Groovy thành một chuỗi chuỗi Java?

Java Phương pháp:

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

    } 
} 

Groovy mã

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

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

Trả lời

76

Để là đúng, def data = ["a","b","c"] nó là một danh sách, không phải là một mảng.

Chỉ cần cố gắng đúc như thế này:

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

Tôi biết có điều gì đó groovier hơn (String []) data.toArray (new String [data.size]) Cảm ơn !!! –

Các vấn đề liên quan