ich die statische MethodeScala implizite Konvertierung nicht auf Java Argument Muster angewendet zu werden
static void foo(Object... params)
in der Java-Klasse Bar gegeben haben und planen, es zu nennen wie folgt:
Bar.foo('x')
, die nicht arbeiten, weil die Methode ein Java-Zeichen erwartet und irgendwie die vorhandene implizite Konvertierung nicht angewendet wird.
Bar.foo('x' : Character)
Bar.foo(new Character('x'))
werden beide den Trick tun, aber die Lesbarkeit verletzt. Putting diese Konstrukte in eine implizite Konvertierung
implicit def baz(c : Char) = c : Character
funktioniert nicht und ich verstehe nicht warum. Also meine Fragen: Was ist das Problem hier? Gibt es eine Lösung?
Mit Scala 2.11.1 ich die folgende Fehlermeldung zu sehen: mario @ Tumbolia/tmp/test 1024% scalac * Foo.scala: 2: Fehler: der Ergebnistyp einer impliziten Umwandlung spezifischer sein müssen als AnyRef Bar.foo ('x') ^ ein Fehler gefunden –