स्कैला कोड से जावा varargs को कॉल करने पर बहुत सारे लेख हैं, लेकिन एकमात्र चीज जो मुझे विपरीत तरीके से मिल सकती है, यह प्रश्न था: Using scala vararg methods in java, जिसमें कोई ठोस उदाहरण नहीं है।जावा कोड से स्कैला varargs का उपयोग कैसे करें
मैं कुछ जावा कोड से scala.Console
का उपयोग करने की कोशिश कर रहा हूं, क्योंकि java.io.Console
एक्लिप्स में काम नहीं करता है, जबकि स्कैला एक करता है। लेकिन मैं विधि क्योंकि यह दूसरा तर्क के लिए एक scala.collection.Seq[Any]
उम्मीद कर किया जा रहा है
def readLine (text: String, args: Any*): String
काम करने के लिए, और मैं जावा में एक Seq
बनाने का तरीका नहीं दिख रहा है नहीं मिल सकता है। मैं इसके आसपास कैसे काम कर सकता हूं?
बातें मैं कोशिश की है:
1) का उपयोग करते हुए अशक्त
// Java
String s = scala.Console.readLine("Enter text: ", null);
- एक NullPointerException
के साथ पुरस्कृत मिलता है।
2) scala.collection.Seq.empty()
साथ null
की जगह है, लेकिन javac रिपोर्ट त्रुटियों के सभी प्रकार के इस तरह के Seq
के रूप में एक empty
विधि नहीं होने चाहिए।
3) scala.collection.immutable
पैकेज वस्तु में Nil
वस्तु का उपयोग करना, लेकिन वाक्य रचना here, जो scala.collection.immutable.package$Nil$.MODULE$
होगा सुझाव दिया है, लेकिन वह हल नहीं किया जा सकता है।
बेशक मैं केवल readLine()
विधि का उपयोग कर सकता हूं जो varargs नहीं लेता है, लेकिन यह बहुत आसान होगा।
मैंने उत्तर संपादित किया है। – axel22
ग्रेट, यह काम करता है। दोनों अभी भी ग्रहण में त्रुटियां दिखाते हैं, लेकिन वे वास्तव में संकलित करते हैं। यह समस्या का हिस्सा हो सकता है। –