Implementierung einer Scala-Funktion in Java

8

Ich versuche ein Scala-Funktion-Objekt zu implementieren (speziell - mit Apache Funke zu verwenden)

Der entsprechende Java-Typ ist scala.Function0 (für eine Funktion ohne Parameter)

neben der Methode, die die Geschäftslogik apply() implementiert, sehe ich, dass ich mehrere andere Methoden implementieren muss.

Einfaches googeln der Methodennamen hat nicht geholfen (ich sah einen Verweis auf eine tag -Methode, die implementiert werden sollte - aber der Methodenname ist hier anders.

Hier ist der Code mit diesen Methoden (mit leerer Implementierung).

%Vor%

Was sind diese Methoden? Wie sollen sie umgesetzt werden? Gibt es eine sauberere Lösung, die diese zu jeder Klasse hinzufügt?

    
Ophir Yoktan 02.09.2014, 12:45
quelle

1 Antwort

14

Scalas FunctionX interfaces sind Merkmale, deren Typparameter spezialisiert sind. Da die Spezialisierung von scalac durchgeführt wird und daher nicht von javac durchgeführt werden kann, müssen Sie alles, was mit der Spezialisierung zu tun hat, selbst implementieren.

Scala stellt die abstrakten Klassen AbstractFunctionX zur Verfügung, die auf der Java-Seite einfach implementiert werden können:

%Vor%     
sschaef 02.09.2014, 13:19
quelle

Tags und Links