2009-02-20 16 views
35

मैं एक ग्रोवी कक्षा से जावा क्लास पर मेथॉन्ड कॉल करने की कोशिश कर रहा हूं। जावा विधि में एक स्ट्रिंग सरणी पैरामीटर के रूप में है, और मेरे पास मेरी ग्रोवी कक्षा में स्ट्रिंग का संग्रह है। मैं ग्रोवी संग्रह को जावा स्ट्रिंग सरणी में कैसे परिवर्तित करूं?मैं एक ग्रोवी स्ट्रिंग संग्रह को जावा स्ट्रिंग ऐरे में कैसे परिवर्तित करूं?

जावा विधि:

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 (नई स्ट्रिंग [data.size]) धन्यवाद था !!! –

संबंधित मुद्दे

 संबंधित मुद्दे