Devoxx France 2014 – 50 nouvelles choses que l’on peut faire avec Java 8…

... Autres que les lambdas et les streams !
C'était le sujet de la présentation de José Paumard en ce dernier jour de Devoxx France.

En 50 minutes, José Paumard nous a listé 50 évolutions apportées par Java 8 par rapport à Java 7.
Voici quelques "diamants" :

Nouvelle API "Date", très fortement inspirée de JodaTime (plus précisément, il s'agit d'un réécriture complète du framework par son créateur, afin de pallier à certains défaut d'origine), avec ses concepts jusqu'alors inexistants dans l'API Java :

  • un Instant, représentant un point précis sur la ligne de temps
  • la durée entre 2 instants : Duration
  • l'espace entre 2 dates : Period
  • la gestion des fuseaux horaires
  • une interface déclarant des opérations facilitant l'arithmétique entre ces différents objets
  • et enfin bien sur, le lien avec l'ancienne version de l'API

De nouvelles fonctionnalités sur les String, qui n'étaient autrefois possibles qu'à la main ou via des librairies externes (StringUtils d'Apache ou Guava de Google par exemple) sont incluses dans la nouvelle version :

  • streamer sur les lettres de la chaîne pour y apporter des modifications grâce aux lambdas expressions
  • concaténation facilitée (StringJoiner)

De même dans la catégorie I/O, pouvoir facilement streamer les lignes d'un fichier, les fichiers d'un répertoire, récursivement ou non, ...

Concernant les Collections, l'API s'est considérablement enrichie avec de nouvelles méthodes d'itération (forEach()) et de modification (replace, merge, putIfAbsent, ...) ; ainsi que de nouveaux Comparator permettant de trier spécifiquement les null, chaîner les Comparator, ...
Un point intéressant concerne la classe ConcurrentHashMap, qui a été complètement réécrite par rapport à la version de Java 7 : elle est maintenant thread-safe sans lock, et supporte un plus grand nombre d'éléments (l'index est passé de int en long).

Le dernier point que j'évoquerais ici parmi tout ceux cités, la nouvelle classe ComputableFuture qui permet de faciliter la programmation asynchrone.

Cette présentation a permis de mettre en évidence les nouveautés de l'API qui ont été masquées par l'arrivée des lambdas, et qui vont grandement faciliter la vie des développeurs. Pour voir si le code que vous écriviez n'est pas maintenant devenu "inutile", un seul chemin : la Javadoc !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.