Heim > Java > javaLernprogramm > Was ist das Lambda-Ausdrucksäquivalent von System.out::println?

Was ist das Lambda-Ausdrucksäquivalent von System.out::println?

Linda Hamilton
Freigeben: 2024-11-03 15:16:30
Original
803 Leute haben es durchsucht

What is the Lambda Expression Equivalent of System.out::println?

Erkundung des Lambda-Ausdrucksäquivalents von System.out::println

Javas Methodenreferenzsyntax bietet eine prägnante und lesbare Möglichkeit, auf Methoden zu verweisen. Im gegebenen Beispiel wird die Methodenreferenz System.out::println als Argument für die forEach-Methode verwendet.

Grundlegendes zur Methodenreferenz

Die Methodenreferenz System.out::println .out::println bedeutet, dass die println-Methode mit dem Objekt aufgerufen werden soll, auf das System.out verweist. In diesem Fall ist System.out ein statisches Mitglied der System-Klasse und stellt den Standardausgabestream dar.

Lambda-Ausdrucksäquivalent

Ein äquivalenter Lambda-Ausdruck für System. out::println wäre:

<code class="java">o -> System.out.println(o)</code>
Nach dem Login kopieren

Dieser Lambda-Ausdruck wertet zuerst System.out aus, erfasst den ausgewerteten Wert und erstellt dann eine Lambda-Funktion. Diese Lambda-Funktion nimmt ein Argument o und ruft die println-Methode für das erfasste System.out-Objekt auf und gibt den Wert von o auf der Standardausgabe aus.

Exakter äquivalenter Lambda-Ausdruck

Es ist jedoch erwähnenswert, dass das genaue Äquivalent von System.out::println die folgenden Schritte erfordern würde:

  1. Speichern des ausgewerteten System.out-Objekts in einer Variablen:

    <code class="java">PrintStream p = Objects.requireNonNull(System.out);</code>
    Nach dem Login kopieren
  2. Verwendung der gespeicherten Variablen im Lambda-Ausdruck:

    <code class="java">numbers.forEach(o -> p.println(o));</code>
    Nach dem Login kopieren

Dieses genaue Äquivalent stellt sicher, dass Änderungen an System.out keine Auswirkungen haben das Verhalten des Lambda-Ausdrucks.

Das obige ist der detaillierte Inhalt vonWas ist das Lambda-Ausdrucksäquivalent von System.out::println?. 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