Ich habe oben @FunctionalInterface und es hat eine generische Methode.Java 8 lambda generische Schnittstelle Methode
Wie kann ich Lambda-Ausdruck verwenden, um diese Schnittstelle darzustellen?
ich unten Code versucht, aber es funktioniert nicht,
GenericFunctionalInterface gfi =() -> {return "sss";};
Ich habe Fehler kompilieren: Illegal Lambda-Ausdruck: Methode Genericmethod vom Typ GenericFunctionalInterface ist generisch
Wo kann ich den Typ platzieren Info?
See [diese Antwort] (http://stackoverflow.com/a/22588738/ 304) und Abschnitt [§15.27.3] (http://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.27.3) in JLS8. "Ein Lambda-Ausdruck stimmt mit einem Funktionstyp überein, wenn alle folgenden Bedingungen erfüllt sind: Der Funktionstyp hat keine Typparameter." – McDowell
Meinst du "generische" Methode? Ich sehe keine Verbindung zu Genetik. Abgesehen davon, wie soll das funktionieren? Die Methode ' T geneticMethod()' verspricht, alles zurückzugeben, was der Aufrufer wünscht, so dass ein Lambda-Ausdruck ein 'String' liefert, das nicht erfüllt. –
Holger
Danke Holger. es ist generisch. Ich frage mich, ob ich die Typinformationen für den Lambda-Ausdruck festlegen kann. –