Gegeben das folgende Scala-Objekt:
%Vor% Es scheint, dass der Scala-Compiler eine Methode ohne Parameter generiert, um auf das Feld NAME
zuzugreifen. Wenn ich jedoch versuche, von Java aus auf dieses Feld zuzugreifen, sieht es so aus, als ob die einzige Möglichkeit, auf dieses Feld zuzugreifen, eine parameterlose Methode ist wie:
Gibt es eine Möglichkeit, den Scala-Compiler dazu zu bringen, Java den Zugriff auf val
für das erwartete Java-Idiom zu erlauben:
Genau genommen ist die Antwort nein, weil scala nicht nur ein Feld erzeugt, sondern ein Paar Methoden, um darauf zuzugreifen. Wenn Sie jedoch die Scala val
mit @scala.reflect.BeanProperty
annotieren, werden Java-ähnliche Getter- und Setter-Methoden erzeugt.
so, während Sie nicht in der Lage wären zu sagen (in Ihrem Fall)
%Vor%Sie würden in der Lage sein,
zu sagen %Vor%Was wäre ein Java-ähnliches Idiom, nur nicht das, was Sie erhofft haben.
N.B. Ich habe @BeanProperty
nicht mit einem Großbuchstaben wie diesem versucht, also bin ich mir nicht sicher, was es tatsächlich produzieren würde.
Tags und Links scala java scala-java-interop