Je savais seulement comment utiliser forEach en utilisant une expression lambda, mais il y avait aussi une méthode utilisant la référence de méthode "::", alors prenez note.
Nom de classe (instance) :: nom de méthode
Vous pouvez vous référer à la méthode en écrivant comme
list.forEach(System.out :: println);
list.forEach(x -> System.out.println(x));
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
Main main = new Main();
System.out.println("----No1----");
main.test().forEach(main :: myPrint);
System.out.println("----No2----");
main.test().forEach(x -> main.myPrint(x));
}
public List<String> test(){
List<String> list = new ArrayList<>();
list.add("AA");
list.add("BB");
list.add("CC");
list.add("DD");
return list;
}
public void myPrint(String str){
System.out.println(str);
}
}
Ceci est un exemple d'appel de la méthode de l'instance, mais les résultats de l'exécution sont les mêmes.
----No1----
AA
BB
CC
DD
----No2----
AA
BB
CC
DD
Recommended Posts