Avantages des références pour les méthodes
Concision : Les références aux méthodes sont plus concises que les lambdas.
Exemple : incrémenter la valeur dans une carte à l'aide de la fusion :
Lambda : (compte, incr) -> compter + augmenter
Référence pour la méthode : Integer::sum
Réduction du passe-partout
Suppression des paramètres inutiles : Les paramètres tels que count et incr sont éliminés.
Exemple :
map.merge(key, 1, Integer::sum);
Utilisation efficace des références pour les méthodes
-
Documentation utile dans Lambdas : Dans certains cas, les noms de paramètres dans lambdas peuvent fournir une documentation utile.
-
Conversion de Lambdas en méthodes : Si un lambda est trop complexe, extrayez le code dans une méthode distincte et utilisez la référence à cette méthode.
IDE et références pour les méthodes
-
Suggestions IDE : Les IDE suggèrent souvent de remplacer les lambdas par des références à des méthodes.
-
Acceptation des suggestions : En général, acceptez les suggestions, mais évaluez au cas par cas.
Exceptions et considérations
-
Lambdas plus concis : Parfois, les lambdas sont plus concis que les références de méthodes.
- Exemple avec Classe :
-
Référence pour la méthode : GoshThisClassNameIsHumongous::action
-
Lambda : () -> action()
-
Fonction d'identité : Function.identity() vs. x -> x
Types de références pour les méthodes
-
Statique : Integer::parseInt (lambda : str -> Integer.parseInt(str))
-
Limité : Instant.now()::isAfter (lambda : t -> Instant.now().isAfter(t))
-
Illimité : String::toLowerCase (lambda : str -> str.toLowerCase())
-
Constructeur de classe : TreeMap::new (lambda: () -> new TreeMap)
-
Constructeur de tableau : int[]::new (lambda : len -> new int[len])
Conclusion
Préférence pour les références de méthode : Utilisez les références de méthode lorsqu'elles sont plus courtes et plus claires que les lambdas.
Utilisation des Lambdas : Préférez les lambdas s'ils sont plus concis ou fournissent une meilleure documentation.
![Item Dê preferência às referências para métodos em vez dos lambdas](https://img.php.cn/upload/article/000/000/000/172136896124169.jpg)
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!
Déclaration: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