[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
- Fondamentalement, les références de méthode doivent être sélectionnées car les références de méthode peuvent être écrites de manière plus concise que les expressions lambda.
 
- Dans certains cas, l'expression lambda est plus concise. C'est souvent le cas lors de l'utilisation de méthodes de la même classe.
 
//Référence de la méthode
service.execute(GoshThisClassNameIsHumongous::action);
//Style Lambda
service.execute(() -> action());
- De nombreuses références de méthodes sont des références de méthodes statiques, mais il existe quatre autres modèles.
 
- Les références liées (je ne sais pas pourquoi ...) sont des références de méthode qui identifient l'objet à recevoir.
 
- La référence UnBound (je ne comprends pas ...) identifie l'objet à recevoir lors de l'application d'un objet fonction (** Je ne comprends pas ce que cela signifie **). Souvent utilisé dans les cartes de flux et les filtres.
 
- Les constructeurs de classes et de tableaux peuvent être comme indiqué dans le tableau ci-dessous.
 
| 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] |