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
Linda HamiltonOriginal
2024-11-03 15:16:30811Durchsuche

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>

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>
  2. Verwendung der gespeicherten Variablen im Lambda-Ausdruck:

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

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!

Stellungnahme:
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