से जावा कोड बुला जब मैं स्केला आरईपीएल कंसोल में कोड निम्नलिखित निष्पादित करें:NoSuchMethodError जब स्केला
java.util.Collections.max(new java.util.ArrayList[String]())
NoSuchMethodError
अपवाद फेंक दिया जाता है:
java.lang.NoSuchMethodError: java.util.Collections.max(Ljava/util/Collection;)Lj
ava/lang/Comparable;
at .<init>(<console>:8)
at .<clinit>(<console>)
at .<init>(<console>:11)
at .<clinit>(<console>)
at $export(<console>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:592)
at scala.tools.nsc.interpreter.IMain$Request$$anonfun$10.apply(IMain.sca
la:828)
at scala.tools.nsc.interpreter.Line$$anonfun$1.apply$mcV$sp(Line.scala:4
3)
at scala.tools.nsc.io.package$$anon$2.run(package.scala:31)
at java.lang.Thread.run(Thread.java:662)
स्काला 2.9.0.1, जावा 1.6.0_25
क्यों एक अपवाद फेंक दिया गया है? जावा से निष्पादित एक ही कोड अपेक्षित व्यवहार करता है (NoSuchElementException
फेंकता है)।
उत्सुक। जावाडोक कहते हैं '<टी ऑब्जेक्ट और तुलनात्मक super T>> टी' बढ़ाता है। –
@ डैनियल, जेवीएम विधि के अवांछित प्रकार को देखता है; इसलिए 'ऑब्जेक्ट' को 'ऑब्जेक्ट' में मिटा दिया गया है, लेकिन स्केलेक को उम्मीद है कि इसे 'तुलनात्मक' में मिटा दिया जाएगा। अधिक जानकारी के लिए आप मेरी [ईमेल स्केल-उपयोगकर्ता मेलिंग सूची में ईमेल] की समीक्षा कर सकते हैं (http://groups.google.com/group/scala-user/browse_thread/thread/53498367ee8a856b)। – notnoop