Wie verwenden Sie die generische Funktion der interface-Methode geben Sie Parameter in einen lambda-Ausdruck

Im Versuch, erstellen Sie eine generische lambda-so ich keine Notwendigkeit, neu zu definieren, es ist für die einzelnen Typen. Zu tun, dass ich Zugriff auf die Typ-Parameter an die Funktion übergeben. Leider habe ich nicht finden, keine Dokumentation, wie das zu tun.

Dies ist ein Beispiel von, was ich tun will, sondern das vor der lambda-Ausdruck nicht kompilieren:

import java.util.ArrayList;

public class Test {

    interface SolveFunction {
        <In, Out> Out apply(In in);
    }

    public static void main(String...args) {
        SolveFunction f = <In, Out> (In a)  -> {
            ArrayList<Out> list = new ArrayList<>();
            return list;
        };
        System.out.println(f.<String, Integer>apply("Hi").size());
    }
}
  • Was wollen Sie genau tun? Es gibt viele Dinge in diesem code, der nicht kompiliert...
  • Im Versuch zur Umsetzung des Divide and Conquer-Muster, die akzeptiert 4 Funktionen: Teilen, Lösen, Trivial und Kombinieren, hier ist das größere Stück code, warum ich möchte, Generika innerhalb des lambda dpaste.de/R6ew#L76 (code noch nicht getestet, da bricht es bei der Generika-wenn ich versuche, um es zu kompilieren)
  • FYI, dies ist nicht für die Produktion von code und ich weiss, dass Java nicht inteded verwendet werden, die als eine funktionale Sprache.
InformationsquelleAutor user1703761 | 2013-11-19
Schreibe einen Kommentar