Java 8: Lambda in eine Methodeninstanz mit Clousure konvertieren
(Dies ist schwierig zu suchen, da es sich bei den Ergebnissen um "Methodenreferenz" handelt.)
Ich möchte ein @ bekommMethod
-Instanz für einen Lambda-Ausdruck zur Verwendung mit einer alten reflexionsbasierten API. Die Clousure sollte enthalten sein, also rufethatMethod.invoke(null, ...)
sollte den gleichen Effekt haben wie das Aufrufen des Lambda.
Ich habe @ angescha MethodHandles.Lookup, aber es scheint nur für die Rücktransformation relevant zu sein. Aber ich denke dasbind
Methode kann helfen, die Clousure einzuschließen?
Bearbeiten
Sag ich bin Lambda Experssion:
Function<String, String> sayHello = name -> "Hello, " + name;
und ich habe ein Legacy-Framework SpEL) mit einer API wie
registerFunction(String name, Method method)
das wird das gegebene @ aufrufMethod
ohnethis
Argument (d. h. Methode als statisch angenommen). Also muss ich ein spezielles @ bekommMethod
Instanz, die die Lambda-Logik + die Clousure-Daten enthält.