Heim > Java > javaLernprogramm > Lassen Sie uns das Verständnis von Lambda-Ausdrücken in Java testen und erlernen

Lassen Sie uns das Verständnis von Lambda-Ausdrücken in Java testen und erlernen

php是最好的语言
Freigeben: 2018-08-01 12:03:07
Original
2280 Leute haben es durchsucht

Chat:

Es ist lange her, seit JDK8 herauskam, ich habe ein wenig darüber gelernt, es dann verworfen und jetzt hole ich es wieder nach. Obwohl es jetzt JDK11 ist.

Dieser Artikel wird fortlaufend aktualisiert.

Text:

Schauen Sie sich den Code direkt an. In den neuen Funktionen von Java8 können wir so schreiben:

public static void main(String[] args) {
        Supplier<Integer> supplier = ()->1;
        Consumer<String> consumer = (a)-> System.out.println(a);
        System.out.println(supplier.get());
        consumer.accept("test");
    }
Nach dem Login kopieren

Es ist sehr modisch. Können Sie einen so prägnanten Code erstellen? Ich meine, Sie Java7

Klauen Sie zuerst ein Bild und erklären Sie Lambda

Lassen Sie uns das Verständnis von Lambda-Ausdrücken in Java testen und erlernenMit anderen Worten, Lambda-Ausdruck,

erstellt eine Implementierung der entsprechenden Schnittstelle und weist sie dann der Variablen

zu. Verwendet es den Compiler? Überprüfen Sie den kompilierten Code wie folgt:

1
test

Process finished with exit code 0
Nach dem Login kopieren
Der Compiler führt diese Funktion nicht aus, daher kann es sein, dass die JVM die Lambda-Funktion implementiert hat. Wir werden später mehr darüber erfahren. Markierung 1

Hier geschrieben, können Sie wissen, dass Lambda-Ausdrücke die Codemenge reduzieren. Vor Java8 konnten Sie nur anonyme innere Klassen verwenden oder eine Klasse erstellen, um die Schnittstelle zu implementieren, um diese Funktion zu erreichen. Wie folgt

public static void main(String[] args) {
        Supplier<Integer> supplier = () -> {
            return 1;
        };
        Consumer<String> consumer = (a) -> {
            System.out.println(a);
        };
        System.out.println(supplier.get());
        consumer.accept("test");
    }
Nach dem Login kopieren

Eigentlich bin ich neugieriger auf die Schnittstelle zu Lambda. Öffnen Sie den Quellcode und Sie können sehen

Supplier<Integer> supplier = new Supplier<Integer>() {
            @Override
            public Integer get() {
                return 1;
            }
        };
Nach dem Login kopieren
@FunctionalInterface
public interface Supplier<T> {

    /**
     * Gets a result.
     *
     * @return a result
     */
    T get();
}
Nach dem Login kopieren

Jetzt können wir FunctionalInterface verwenden, um herauszufinden, welche Schnittstellen in JDK8 funktionsfähig sind Schnittstellen

Lassen Sie uns das Verständnis von Lambda-Ausdrücken in Java testen und erlernenIch werde ein oder zwei der beliebtesten zum Testen und Lernen auswählen

Oh, lassen Sie mich zuerst unterbrechen, ich habe eine sehr wichtige Passage gesehen Als ich gerade den Artikel gelesen habe (in der Praxis sind funktionale Schnittstellen sehr fragil: Solange ein Entwickler der Schnittstelle eine Funktion hinzufügt, ist die Schnittstelle keine funktionale Schnittstelle mehr und führt zu Kompilierungsfehlern. Um diese Fragilität zu überwinden Codeebene und explizit angeben, dass es sich bei einer Schnittstelle um eine funktionale Schnittstelle handelt. Java 8 bietet eine spezielle Annotation)

Ich habe ArrayList und Optional ausgewählt, beides sehr häufig verwendete Klassen.

Verwandte Artikel:

Detailliertes Verständnis von Lambda-Ausdrücken in Java

Eine vorläufige Untersuchung von Java-Lambda-Ausdrücken

Ähnliche Videos:


JavaScript-Video-Tutorial für reguläre Ausdrücke


Das obige ist der detaillierte Inhalt vonLassen Sie uns das Verständnis von Lambda-Ausdrücken in Java testen und erlernen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage