Maison > Java > javaDidacticiel > Confusion autour du référencement des méthodes

Confusion autour du référencement des méthodes

Patricia Arquette
Libérer: 2024-09-23 06:21:14
original
515 Les gens l'ont consulté

Confusion Around Method Referencing

Les références de méthodes en Java fournissent un moyen de faire référence à des méthodes ou à des constructeurs sans les invoquer explicitement. Ils peuvent être considérés comme un raccourci pour écrire des expressions lambda simples.

La plupart du temps, le référencement des méthodes peut être statique ou lié à une instance :

Integer::sum;
System.out::println;
Copier après la connexion

Ceci sont des exemples de références de méthodes statiques (également appelées référencement lié).

Cependant, considérez ceci :

String::concat
Copier après la connexion

Ici, concatis n'est pas une méthode statique, alors comment ça marche ? Ceci est un exemple de référencement non lié. Le compilateur comprend qu'il s'agit d'une référence de méthode d'instance basée sur la façon dont notre code est écrit. Cela permet de simplifier les appels de méthode comme celui-ci.

La façon dont nous écrivons notre code détermine ces types de références (en particulier celles non liées). Prenons un exemple de concatas :

((a, b) -> a + b, "Hello", "World");
// ----------------Is same as -------------
((a, b) -> a.concat(b), "Hello", "World"); // This one could be replaced by mehod referencing

// ----------------Alternative-------------

(String::concat, "Hello", "World");

/* The use of 'a' as the first parameter and calling `concat `of 'a' itself 
gives the compiler an idea of how it should decode `String::concat`*/
Copier après la connexion

Ainsi, au lieu d'écrire un lambda complet, nous pouvons simplifier avec une référence de méthode.

Continuer à apprendre ?

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:dev.to
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