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:
Speichern des ausgewerteten System.out-Objekts in einer Variablen:
<code class="java">PrintStream p = Objects.requireNonNull(System.out);</code>
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!