Programme du cours
Introduction
-
Historique de Java
-
Dernière version avant le nouveau mode de release
-
Distribution(s) du JDK, gratuites ou payantes
-
Principales nouveautés du JDK 8 et des suivants
Expressions lambda
-
Formes de lambda
-
Sans paramètre, avec un ou plusieurs paramètres
-
Inférence de type
-
Mono-instruction ou bloc
-
Référence de méthode
-
-
Utilisation de lambda
-
Comme paramètre de méthode
-
Dans une variable locale
-
Variables eventually final
-
Interfaces fonctionnelles et API
-
Utilisation avec les méthodes existantes
-
Nouvelles méthodes et nouveux types, conçues pour les expressions lambda
-
Exemple de
java.util.Comparator
-
Evolution des API de collection
-
-
Interface fonctionnelle
-
Nouvelles interfaces du package
java.util.function
-
Création d’interfaces fonctionnelles
-
-
Évolution de la notion d’interface : méthodes par défaut
-
Impact sur l’héritage
Collections et streams
-
Nouvelles méthodes fonctionnelles de l’API de collections
-
Interface
Stream
et utilisation avec les collections -
Fabriques de stream
-
Opérations de Stream
Optional
-
Définition
-
Builders, pour instancier des objets optionnels
-
Utilisation d'`Optional` comme un type de conteneur
-
Correspondances entre
Optional
etStream
Date & Time
-
java.util.Date
, avantages et (surtout) inconvénients -
Alternative avec Joda Time
-
Date and Time API
-
Notion d’instant
-
Date et heure locales
-
Durée et période
-
-
Date et heure avec fuseau horaire
-
Par zone ou par décalage
-
-
Mise en forme des dates et heures
Autres améliorations d’APIs
-
java.lang.String
-
Concaténation de chaînes
-
Expressions régulières
-
-
java.util.Comparator
-
Encodage en Base64 et décodage
-
Entrées / sorties
-
Amélioration de
java.nio.file.Files
-
-
Tableaux
-
Nouvelles méthodes de
java.util.Arrays
-
-
Programmation concurrente
-
Types atomiques
-
-
Programmation réactive
-
CompletableFuture
-