BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Articles Revue du livre : All About Java 8 Lambdas

Revue du livre : All About Java 8 Lambdas

"All About Java 8 Lambdas", dont le titre ne fait pas totalement justice au livre, contient une multitude d'informations sur les nouvelles fonctionnalités qui ont été ajoutées à Java 8, y compris les lambdas, mais aussi bien d'autres. Le livre est décrit comme étant une « lecture de week-end », et avec un peu plus de 150 pages, il est certainement assez svelte pour y parvenir.

Le contenu du livre est divisé en 14 chapitres, dont le premier tiers est consacré aux lambdas. Le second tiers s'intéresse aux prédicats, aux types d'interfaces fonctionnelles et à la composition fonctionnelle. Le tiers restant est quant à lui dédié aux streams et au traitement des flux, y compris les processus parallèles et séquentiels, en utilisant les lambdas et les fonctions vues jusqu'ici. Ensemble, les chapitres se complètent bien et démontrent également certaines autres fonctionnalités de Java 8, telles que les méthodes statiques et les méthodes par défaut sur les interfaces, ainsi que les références sur les méthodes et les constructeurs.

Les chapitres eux-mêmes sont bien pensés et logiques, parsemés d'exemples et d'extraits de code qui renvoient au répertoire GitHub du livre. En fait, presque toutes les pages ont au moins quelques exemples de code, avec un texte qui explique ce que fait un extrait en particulier.

Dès le début, le lecteur est exposé à certains types de nouvelle syntaxe. Le chapitre d'introduction explique le but des lambdas, et démontre aussi les lambdas en ligne ainsi que les références aux méthodes. Il passe ensuite les chapitres suivants à disséquer les exemples avec un traitement plus précis de la syntaxe et des cas particuliers qui peuvent s'appliquer.

La couverture de la programmation fonctionnelle commence par une introduction sur les fonctions et sur l’annotation FunctionalInterface. Il présente ensuite des types plus spécifiques, tels que le Predicate, le Consumer, le Supplier et le BiFunction, accompagnés d'exemples. Bien que l'auteur aurait pu s’arrêter ici, il continue et montre comment chaîner les résultats fonctionnels ensemble et comment les utiliser pour construire des chaînes de traitement.

Le livre passe ensuite à sa dernière section couvrant les streams, y compris comment utiliser map et la flatMap avec les fonctions et les processes sur des collections en streaming, y compris la manière dont les streams sont plus efficaces avec des types primitifs, comparés à leurs homologues orientés objet.

L’auteur passe ensuite aux types Optional, comment ceux-ci peuvent être chaînés/mappés, ainsi que les opérations de regroupement qui permettent aux flux de données d'être découpés et pivotés sur la base d'une structure de données particulière souhaitée.

Pour finir, une discussion fait état des différences entre les traitements séquentiels et parallèles des streams, et fournit quelques conseils sur les types de traitement auxquels ils sont adaptés.

Bien que ce livre prétende seulement parler des lambdas, il couvre une grande partie des nouveautés Java 8. Ce qu'il ne couvre pas sont quelques-unes des nouvelles API, telles que le package java.time (mais n’est pas promis d'être livré dans le livre). Cependant, le livre couvre toutes les modifications apportées à la syntaxe du langage Java, ainsi que les nouvelles APIs dans le package java.util.function.

La seule chose qui manque dans le livre est l’index. Si vous avez une copie électronique, cela peut ne pose pas vraiment de problème puisque vous pouvez effectuer une recherche pour trouver une référence en particulier. Mais si vous achetez la version papier, l'index des chapitres au début du livre est la seule référence croisée disponible. Heureusement, les chapitres sont suffisamment courts et les rubriques internes rendent les choses relativement faciles à trouver lorsque vous recherchez quelque chose, à condition que vous puissiez localiser le bon point de départ du chapitre.

Si vous disposez seulement d'un week-end pour vous mettre à jour sur les nouveautés du langage Java 8, ce livre est un bon début.

A propos de l'Auteur

Madhusudhan Konda est développeur Java travaillant à Londres, principalement pour des banques d'investissement et des organismes financiers. Il travaille sur la plate-forme Java depuis plus de 15 ans. Ayant débuté comme Programmeur C/C ++, il a rapidement appris Java pendant sa maîtrise à l'IIT Kharagpur, en Inde. Il est instantanément tombé amoureux du langage et n'a jamais regardé en arrière.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT