Heim > Java > javaLernprogramm > Was ist der entsprechende Lambda-Ausdruck für „System.out::println' in Java?

Was ist der entsprechende Lambda-Ausdruck für „System.out::println' in Java?

Patricia Arquette
Freigeben: 2024-11-03 03:26:03
Original
1099 Leute haben es durchsucht

What is the equivalent lambda expression for `System.out::println` in Java?

Untersuchen des äquivalenten Lambda-Ausdrucks für System.out::println

In der Java-Programmierung bieten Methodenreferenzen eine prägnante Syntax zum Aufrufen von Methoden. Ein solches Beispiel ist System.out::println, das als Abkürzung für den Verweis auf die println-Methode der System.out-Klasse dient.

Diese Methodenreferenz ermöglicht es uns, Code wie diesen zu schreiben:

numbers.forEach(System.out::println);
Nach dem Login kopieren

wobei die Zahlenliste Ganzzahlen enthält, die auf der Konsole ausgegeben werden. Es gibt jedoch einen entsprechenden Lambda-Ausdruck, der die gleiche Funktionalität erreicht.

Um diesen Lambda-Ausdruck zu finden, müssen wir verstehen, wie Methodenreferenzen funktionieren. Bei Verwendung von System.out::println ergibt die anfängliche Auswertung von System.out eine Instanz von PrintStream, die in einem Lambda-Ausdruck gespeichert und zum Aufrufen von println verwendet wird.

Dieses Konzept direkt in einen Lambda-Ausdruck übersetzen, wir erhalten Folgendes:

numbers.forEach(o -> {
    PrintStream p = Objects.requireNonNull(System.out);
    p.println(o);
});
Nach dem Login kopieren

Dieser Lambda-Ausdruck ruft explizit die PrintStream-Instanz ab und weist sie der Variablen p zu. Der Platzhalter o stellt jedes Element der Zahlenliste dar.

Es ist erwähnenswert, dass dieser Lambda-Ausdruck ein genaues Äquivalent von System.out::println ist und die ausgewertete System.out-Instanz erfasst. Die letztgenannte Methodenreferenz hat jedoch den Vorteil, dass sie prägnanter und lesbarer ist.

Während der Lambda-Ausdruck also eine explizitere Sicht auf das bietet, was unter der Haube passiert, bleibt die Methodenreferenz System.out::println bestehen eine wertvolle syntaktische Abkürzung in Szenarien wie dem oben dargestellten.

Das obige ist der detaillierte Inhalt vonWas ist der entsprechende Lambda-Ausdruck für „System.out::println' in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage