मैं अपने मौजूदा जावा ऐप में कुछ स्कैला कोड इंजेक्ट करने की कोशिश कर रहा हूं। (इसलिए, कहा जा रहा है, मैं कुछ और मजेदार चाहता हूँ)।आप जावा से स्कैला सिंगलटन विधि कैसे कॉल करते हैं?
मैं अब स्काला
ScalaPower.scala
package org.fun
class ScalaPower
object ScalaPower{
def showMyPower(time:Int) = {
(0 to time-1).mkString(", ")
}
}
में एक सिंगलटन सामान बनाते हैं, OldJava.java
class OldJava {
public void demo(){
System.out.println(?)
}
}
अंदर मैं ?
ताकि जावा showMyPower विधि कॉल करेंगे क्या भरना चाहिए? मैंने org.fun.ScalaPower.showMyPower(10)
और org.fun.ScalaPower.getInstance().showMyPower(10)
दोनों को आजमाया लेकिन कोई भी काम नहीं किया।
(JAD का उपयोग कर वर्ग फ़ाइल डिकंपाइल मुझे लेकिन बकवास कोड कुछ भी नहीं दिखा।)
संपादित मैं class ScalaPower
घोषणा को हटा दें और अपेक्षा के अनुरूप स्केला स्थिर विधि का उत्पादन। (org.fun.ScalaPower.showMyPower(10)
पर कॉल करें बस काम करता है)।
आश्चर्य अगर यह स्केला संकलक में एक बग या नहीं मन में
के बारे में क्या 'org.fun.ScalaPower.showMyPower (10)'? – OscarRyz
ओच, मेरे बुरे। नामस्थान बदलने के लिए भूल गए। पहले ही सवाल अपडेट किया गया है। धन्यवाद। –
वैसे, आप '0 से समय-1' के बजाय '0 तक समय' लिख सकते हैं। –