का उपयोग कर मैं एक स्केला पुस्तकालय कक्षा में 2 सरल तरीकों जावा से कहा जा सकता है:कैसे स्केला प्रणाली की घोषणा करने के लिए इतना है कि यह varargs शैली
class Foo {
def bar(args : String*) : Unit = println("Foo.bar with: " + args)
def bar(args : Array[String]) : Unit = bar(args.toSeq : _*)
}
यह सब अच्छी तरह से संकलित करता है। मैं तो एक पुस्तकालय foo.jar
में इस डाल दिया और कोशिश करते हैं और जावा के निम्नलिखित टुकड़ा संकलन:
import Foo
public class Test {
public static void main(String[] args) {
Foo foo = new Foo();
foo.bar("Hello", "World"); //DOES NOT COMPILE
}
}
मैं के साथ हमलावर लाइन की जगह ले सकता:
foo.bar(new String[] { "Hello", "World" }); //OK
लेकिन इस बात को हराने के लिए लगता है। मैं जावा varargs- जैसे वाक्यविन्यास का उपयोग कर जावा से इसे कैसे कॉल कर सकता हूं?
लिखने में कोई त्रुटि है, लेकिन वर्ग हो सकता है '' Foo' foo' विधि नहीं है। –
चीयर्स - टाइपो वास्तव में –
मैंने जो कहा है उसमें मैं स्पष्ट रूप से गलत हूं, हालांकि मैं स्वीकार करता हूं कि यह मुझे भ्रमित करता है। मैं गलत जानकारी फैलाने से बचने के लिए अपना जवाब हटा रहा हूं। –