[JAVA] Rubrique 43: Préférez les références de méthode aux lambdas

43. Utilisez des références de méthode plutôt que des expressions lambda

//Référence de la méthode
service.execute(GoshThisClassNameIsHumongous::action);
//Style Lambda
service.execute(() -> action());
Method Ref Type Example Lambda Equivalent
Static Integer::parseInt str -> Integer.parseInt(str)
Bound Instant.now()::isAfter Instant then = Instant.now(); t -> then.isAfter(t)
Unbound String::toLowerCase str -> str.toLowerCase()
Class Constructor TreeMap<K,V>::new () -> new TreeMap<K,V>
Array Constructor int[]::new len -> new int[len]

Recommended Posts

Rubrique 43: Préférez les références de méthode aux lambdas
Point 42: Préférez les lambdas aux classes anonymes
Élément 28: Préférer les listes aux tableaux
Rubrique 65: Préférez les interfaces à la réflexion
Élément 39: Préférez les annotations aux modèles de dénomination
Point 85: Préférez les alternatives à la sérialisation Java
Point 58: Préférez les boucles for-each aux boucles for traditionnelles
Élément 23: Préférez les hiérarchies de classes aux classes balisées
Point 61: Préférez les types primitifs aux primitives encadrées
Méthode de recherche
Élément 81: Préférez les utilitaires de concurrence pour attendre et notifier
Élément 80: Préférez les exécuteurs, les tâches et les flux aux threads
Élément 89: Pour le contrôle d'instance, préférez les types enum à readResolve
Élément 47: Préférez la collecte au flux comme type de retour
16 Correspond à l'invocation de méthode
Point 51: Concevoir soigneusement les signatures de méthode
20 Correspond aux appels de méthode statiques
Array.map facile à utiliser (&: méthode)
Comment créer une méthode