8
Java代碼時當我執行斯卡拉REPL控制檯下面的代碼:的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
爲什麼在這裏拋出異常? 從Java執行的代碼行爲與預期相同(拋出NoSuchElementException
)。
好奇。 Javadoc說'> T'。 –
2011-05-29 22:04:13
@Daniel,JVM看着這個方法的刪除類型;所以'T'被擦除爲'Object',但Scalac希望它被擦除爲'Comparable'。您可以查看我的[scala用戶郵件列表中的電子郵件](http://groups.google.com/group/scala-user/browse_thread/thread/53498367ee8a856b)以獲取更多詳細信息。 – notnoop 2011-05-29 23:31:36