[Für Anfänger] Verstehen Sie schnell die Grundlagen von Java 8 Lambda

Was ist mit diesem Artikel?

Java 9 wurde bereits für die Öffentlichkeit freigegeben, aber dieser Artikel ist für diejenigen gedacht, die die in Java 8 hinzugefügten Lambda-Ausdrücke erneut überprüfen möchten. Es dient auch als persönliche Zusammenfassung. Ich würde mich freuen, wenn Sie auf Fehler hinweisen könnten!

Was ist Lambda im Lambda-Stil?

Die große Änderung in Java 8 ist der Lambda-Ausdruck. Ursprünglich gab es in der Mathematik die Idee, dass "eine Funktion wie eine Variable behandelt und betrieben wird", und der Name λ (Lambda) wird häufig als Variable verwendet. Der Lambda-Ausdruck von Java integriert diese mathematische Idee in Java, und ich denke, es ist leicht zu verstehen, dass die Bedeutung "Ausdruck einer Funktion, die als Wert behandelt werden kann" ist.

Zum Beispiel der folgende Code.

(p) -> (p.getAge()) < 30)


Dies ist ein Ausdruck, der zurückgegeben wird, wenn das Alter von p weniger als 30 Jahre beträgt, wenn p in die Funktion eingefügt wird.

Schreiben wir einen Lambda-Ausdruck

Lassen Sie uns den Lambda-Ausdruck verstehen, indem wir einen Beispiel-Lambda-Ausdruck schreiben und den Code zerlegen.

LambdaSample.java


public class LambdaSample {
    public static void main(String[] args) {
        Runnable r = () -> System.out.println("Hello Lambda!");
        r.run();
    }
}

Wenn ich das obige Beispiel ausführe, erhalte ich das folgende Ergebnis. hello lambda!

Der im Lambda-Ausdruck geschriebene Code ist unten.

() -> System.out.println("Hello Lambda!")


Wenn Sie versuchen, den Lambda-Ausdruck im Schreibstil vor JDK8 zu schreiben ...

Wenn Sie diese LambdaSample.java vor JDK8 schreiben, ist dies wie folgt.

RunnableSample.java


public class RunnableSample {
    public static void main(String[] args) {
       Runnable r = new Runnable() {
           @Override
           public void run() {
               System.out.println("Before Lambda!");
           }
       };
        r.run();
    }
}

In LambdaSample.java wird der folgende Teil durch einen Lambda-Ausdruck ersetzt.

JDK8 oder früher


new Runnable() {
           @Override
           public void run() {
               System.out.println("Before Lambda!");
           }
       }

JDK8


() -> System.out.println("Hello Lambda!")

Die Menge an Code hat sich erheblich verringert.

Dieser vor JDK8 geschriebene Code wird auch als "anonyme Klasse" bezeichnet. Mit anderen Worten, ein Lambda-Ausdruck kann als "Umschreiben eines anonymen Klassenobjekts, das eine Schnittstelle implementiert" bezeichnet werden.

Nachschlagewerke / Websites

http://java-code.jp/106 https://qiita.com/sanotyan1202/items/64593e8e981e8d6439d3 ["Lambda-Stil" beginnend mit Java8](https://www.amazon.co.jp/Java8%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82 % 8B% E3% 80% 8C% E3% 83% A9% E3% 83% A0% E3% 83% 80% E5% BC% 8F% E3% 80% 8D-I% E3% 83% BB-BOOKS-% E6% B8% 85% E6% B0% B4-% E7% BE% 8E% E6% A8% B9 / dp / 4777518418 / ref = sr_1_2? Dh = UTF8 & qid = 1508761078 & sr = 8-2 & keywords = java8) [Java SE 8 Praktische Programmierung, die Java-Programmierer lernen möchten](https://www.amazon.co.jp/Java%E3%83%97%E3%83%AD%E3%82%B0%E3% 83% A9% E3% 83% 9E% E3% 83% BC% E3% 81% AA% E3% 82% 89% E7% BF% 92% E5% BE% 97% E3% 81% 97% E3% 81% A6% E3% 81% 8A% E3% 81% 8D% E3% 81% 9F% E3% 81% 84-Java-SE-8-% E5% AE% 9F% E8% B7% B5% E3% 83% 97 % E3% 83% AD% E3% 82% B0% E3% 83% A9% E3% 83% 9F% E3% 83% B3% E3% 82% B0-ebook / dp / B00VM0FMIW / ref = sr_1_3? = 1508761078 & sr = 8-3 & keywords = java8)

Recommended Posts

[Für Anfänger] Verstehen Sie schnell die Grundlagen von Java 8 Lambda
[Einführung in Java] Grundlagen der Java-Arithmetik (für Anfänger)
[Für Anfänger] DI ~ Die Grundlagen von DI und DI im Frühjahr ~
Der Ursprung von Java-Lambda-Ausdrücken
[Tag: 5] Ich habe die Grundlagen von Java zusammengefasst
Rückblick auf die Grundlagen von Java
[Rails] Artikel für Anfänger, um den Fluss von form_with zu organisieren und zu verstehen
Eine Sammlung einfacher Fragen für Java-Anfänger
Verstehen Sie Java 8 Lambda-Ausdrücke
Verwenden Sie Java-Lambda-Ausdrücke außerhalb der Stream-API
Einführung in Java für Anfänger Grundkenntnisse der Java-Sprache ①
Ich habe die Typen und Grundlagen von Java-Ausnahmen zusammengefasst
Java Häufig verwendete Anweisungsliste (für Anfänger und Anfänger)
[Java] Anfängerverständnis von Servlet-②
Docker-Überwachung - Erläuterung der Grundlagen der Grundlagen
Grundlagen der Zeichenoperation (Java)
Java-Debug-Ausführung [für Java-Anfänger]
[Java] Grundlegende Aussage für Anfänger
[Java] Anfängerverständnis von Servlet-①
Zusammenfassung der Grundlagen der Java-Sprache
Java für Anfänger, Daten verstecken
Java-Anwendung für Anfänger: Stream
[Für Anfänger] Erläuterung von Klassen, Instanzen und Statik in Java
Ich habe das Verhalten von Java Scanner und .nextLine () nicht wirklich verstanden.
Ich habe versucht, die Grundlagen von Kotlin und Java zusammenzufassen
Java-Anfänger fassten das Verhalten von Array und ArrayList kurz zusammen
[Für Anfänger] Über die von Java Gold erklärte JavaScript-Syntax
Die Idee von C # (Lambda-Ausdruck, für Satz) zu kauen
Wiedereinführung in Java for Humanities 0: Den Akt der Programmierung verstehen
Ich werde die Verschachtelung von Aussagen erklären, die Anfänger töten
Verstehen Sie den grundlegenden Mechanismus von log4j2.xml
Über die Grundlagen der Android-Entwicklung
Untersuchen Sie die Systeminformationen der AWS Lambda-Betriebsumgebung in Java
[java8] Um die Stream-API zu verstehen
[Java Edition] Geschichte der Serialisierung
[Für Anfänger] Führen Sie Selenium auf Java aus
Die Grundlagen von SpringBoot + MyBatis + MySQL
Untersuchen Sie die Liste der in AWS Lambda + Java verfügbaren Schriftarten
Ich habe den Eingabe- / Ausgabetyp von Java Lambda ~ Map Edition ~ ausprobiert
Java für Anfänger, Ausdrücke und Operatoren 2
Kotlin-Generika für Java-Entwickler
[Für Java-Anfänger] Informationen zur Ausnahmebehandlung
[Android] Dynamisch die Höhe von ListView mit Kopie einstellen (für Anfänger)
So überprüfen Sie den Inhalt der Java-Zeichenfolge mit fester Länge
Klassen und Instanzen Java für Anfänger
Ich habe EX25 des AtCoder Programming Guide für Anfänger (APG4b) in Java geschrieben.
[Socket-Kommunikation (Java)] Eindrücke von der erstmaligen Implementierung der Socket-Kommunikation in der Praxis
Implementierung der Klonmethode für Java Record
Holen Sie sich das Ergebnis von POST in Java
[Herausforderung CircleCI von 0] Lernen Sie die Grundlagen von CircleCI
Java-Referenz zum Verständnis in der Abbildung
Memorandum des neuen Absolventen SES [Java-Grundlagen]
Lassen Sie uns nun den Java-Lambda-Ausdruck rekapitulieren
[Java] Ermittelt den Tag eines bestimmten Tages
Verstehe die offizielle Probe Coffee of Dagger2
Anmerkung: [Java] Überprüfen Sie den Inhalt des Verzeichnisses
Lernen Sie aus "Na und", den Grundlagen von Java [für Anfänger]