Bonjour,
je suis en train d'apprendre les nouveautés en Java 8. Il y a une notion qui m'échappe, ce sont les interfaces de java.util.function, dont les plus connues sont :
- Consumer<T>
- Function<T,R>
- Predicate<T>
- Supplier<T>
J'ai trouvé un exemple d'utilisation pour chacun
- Consumer<T>
-------------------
Quand on écrit Consumer consumer = ConsumerTest::printNames; la variable consumer semble être initialisée par une méthode et non par une interface. Ma question est : qu'est ce que la variable consumer ? une interface ou une méthode ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 import java.util.function.Consumer; * public class ConsumerTest { * * * public static void main(String[] args) { * * Consumer consumer = ConsumerTest::printNames; * * consumer.accept("Jeremy"); consumer.accept("Paul"); consumer.accept("Richard"); * } * private static void printNames(String name) { System.out.println(name); } }
- Supplier<T>
------------------
Même question, supplier est une interface ou une méthode ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 package org.arpit.java2blog; import java.util.function.Supplier; * public class Java8SupplierExample { * public static void main(String[] args) { ** **Supplier supplier=()->"Arpit"; **System.out.println(supplier.get()); }
- Function<T,R>
------------------
Même question, funcEmpToStringest une interface ou une méthode ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Function<Employee, String> funcEmpToString= (Employee e)-> {return e.getName();};
etc...
Partager