Wenn ich folgenden Code in der scala REPL-Konsole ausfühle:
%Vor% NoSuchMethodError
Ausnahme wird ausgelöst:
Scala 2.9.0.1, Java 1.6.0_25
Warum wird hier eine Ausnahme ausgelöst?
Derselbe Code, der von Java ausgeführt wird, verhält sich wie erwartet (wirft NoSuchElementException
).
Dies ist ein Compilerfehler, der sowohl Scala 2.8 als auch 2.9 betrifft, wo der Compiler nicht die richtige gelöschte Methodensignatur berechnet. Mir ist kein Fehlerbericht bekannt.
Kompilieren der Methode:
%Vor%Ergebnisse in den folgenden Bytecode:
%Vor% Bitte beachten Sie, dass der Bytecode bei Offset 9 eine statische Methode mit dem Rückgabetyp Comparable
aufruft, während der tatsächliche Collections.max
den Rückgabetyp Object
hat:
Tags und Links scala