Maison > Java > javaDidacticiel > Quelle est l'expression lambda équivalente pour `System.out::println` en Java ?

Quelle est l'expression lambda équivalente pour `System.out::println` en Java ?

Patricia Arquette
Libérer: 2024-11-03 03:26:03
original
1099 Les gens l'ont consulté

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

Exploration de l'expression Lambda équivalente pour System.out::println

Dans la programmation Java, les références de méthode offrent une syntaxe concise pour invoquer des méthodes. Un tel exemple est System.out::println, qui sert de raccourci pour faire référence à la méthode println de la classe System.out.

Cette référence de méthode nous permet d'écrire du code comme celui-ci :

numbers.forEach(System.out::println);
Copier après la connexion

où la liste des numéros contient des entiers qui sont imprimés sur la console. Cependant, il existe une expression lambda correspondante qui réalise la même fonctionnalité.

Pour trouver cette expression lambda, nous devons comprendre comment fonctionnent les références de méthode. Lors de l'utilisation de System.out::println, l'évaluation initiale de System.out génère une instance de PrintStream, qui est stockée dans une expression lambda et utilisée pour invoquer println.

Traduisant directement ce concept en une expression lambda, nous obtenons ce qui suit :

numbers.forEach(o -> {
    PrintStream p = Objects.requireNonNull(System.out);
    p.println(o);
});
Copier après la connexion

Cette expression lambda récupère explicitement l'instance PrintStream et l'assigne à la variable p. L'espace réservé o représente chaque élément de la liste de nombres.

Il convient de noter que cette expression lambda est un équivalent exact de System.out::println, capturant l'instance System.out évaluée. Cependant, cette dernière référence de méthode a l'avantage d'être plus concise et lisible.

Ainsi, alors que l'expression lambda fournit une vue plus explicite de ce qui se passe sous le capot, la référence de méthode System.out::println reste un raccourci syntaxique précieux dans des scénarios comme celui illustré ci-dessus.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal