Maîtriser les références de méthode Java 8 : Guide complet
Les références de méthode (operator ::) permettent de référencer une méthode par son nom au lieu de l'invoquer. Utilisables pour :
- Méthodes statiques
- Méthodes d'instance
- Constructeurs (
ClassName::new)
Exemple : référence à méthode statique
import java.util.List;
import java.util.ArrayList;
public class Java8Tester {
public static void main(String[] args) {
List<String> names = new ArrayList<>();
names.add("Mahesh"); names.add("Suresh"); names.add("Ramesh");
names.add("Naresh"); names.add("Kalpesh");
names.forEach(System.out::println); // Référence à System.out.println
}
}
Compilation et exécution
C:\JAVA> javac Java8Tester.java
C:\JAVA> java Java8Tester
Mahesh
Suresh
Ramesh
Naresh
Kalpesh
Ici System.out::println est une référence à la méthode d'instance println de l'objet System.out (PrintStream). Équivalent lambda : s -> System.out.println(s).
Autres formes de références de méthode
| Type | Syntaxe | Exemple |
|---|---|---|
| Méthode statique | Class::staticMethod | Integer::parseInt |
| Méthode d'instance (objet connu) | object::instanceMethod | System.out::println |
| Méthode d'instance (type arbitraire) | Class::instanceMethod | String::compareToIgnoreCase |
| Constructeur | Class::new | ArrayList::new |
Les références de méthode rendent le code plus lisible et concis quand la lambda ne fait qu'appeler une méthode existante.
Java
- Maîtriser les opérateurs Java : Types, syntaxe et exemples pratiques
- Maîtriser les interfaces Java : concepts, implémentation et bonnes pratiques
- Méthode Java String length() : Comment obtenir la taille d'une chaîne (Exemple)
- Maîtriser Java String.indexOf() : Localiser des sous-chaînes et exemples pratiques
- Comprendre Java String.charAt() : Syntaxe, type de retour, exceptions et exemple pratique
- Maîtriser la méthode Java String compareTo() : Syntaxe, cas d'usage et exemples pratiques
- Méthode Java String.contains() : Comment vérifier la présence de sous-chaînes – Exemples pratiques
- Maîtriser Java String.endsWith() : Comment vérifier les suffixes de chaînes avec exemples
- Maîtriser le remplacement de chaînes Java : replace(), replaceAll() et replaceFirst() expliqués