Cet article contient l'ensemble des articles en relation avec les nouveautés Java 8.
Introduit dans java 8, une interface fonctionnelle annotée @FunctionalInterface ne contient qu'une seule méthode abstraite. Cette annotation est facultative : dans le cas ou l'interface ne possède qu'une seule méthode, elle pourra être utilisé comme interface fonctionnelles.
Oracle a défini 43 interface fonctionnelle, dont certaines ci-dessous :
Interface | Signature | Exemples |
BinaryOperator<T> | T apply(T t1, T t2) | Math::max |
Consumer<T> | void accept(T t) |
System.out::println System::exit |
Function<T,R> | R apply(T t) |
String::toLowerCase |
Predicate<T> |
boolean test(T t) |
Objects::nonNul |
Supplier<T> | T get() | Exception::new |
UnaryOperator<T> | T apply(T t) | String::toUpperCase |
La méthode Iterable.forEach a été introduite avec Java 8. Ci-dessous une utilisation de cette méthode avec les lambdas expressions et les références des méthodes.
Définition de la méthode forEach :
default void forEach(Consumer<? super T> action);
Dans un premier exemple, nous parcourons une liste via une classe anonyme :
List<String> liste = Arrays.asList("a","b","c");
liste.forEach(new Consumer<String>() {
@Override
public void accept(String t) {
System.out.print(t);
}
});
// Output : abc
Maintenant avec les lambdas expressions, cela facilite l'écriture du code et augmente sa lisibilité :
final List<String> liste = Arrays.asList("a", "b", "c");
liste.forEach(t -> System.out.print(t)); // abc
Concernant les références des méthodes, on utilise les deux points deux fois (::) pour indiquer la méthode à utiliser.
final List<String> liste = Arrays.asList("a", "b", "c");
liste.forEach(System.out::print); // abc
Ici la méthode à utiliser est print. Java fournit automatiquement en argument de print chaque élément de la liste.
Les optionals sont traitées dans l'article suivant : Java - Utilisation des Optional
Les Stream sont traitées dans les articles suivants :
Les dates sont traitées dans l'article suivant : Java : Date : Formatage, parsing et conversion
L'installation sous Debian 10 de java est traitée dans l'article suivant : Installation de Java sous Debian 10
Remarque : L'installation dans windows est similaire.
LauLem.com - Conditions Générales d'Utilisation - Informations Légales - Charte relative aux cookies - Charte sur la protection des données personnelles - A propos