Java 8 : Les nouveautés

Utiliser BiFunction et BiPredicate

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Les fonctions BiFunction et BiPredicate attendent deux paramètres en entrée. Les variables de ce type pourront être utilisées lorsqu'une telle fonction est attendue.

Transcription

Dans cette vidéo, nous finirons avec la notion de BiFunction et de BiPredicate. Donc la BiFunction, c'est tout simplement la fonction qui va prendre deux paramètres en entrée et venir faire un retour. BiFunction par exemple sur String, String, Integer> pourrait être donc une fonction qui calcule la longueur totale des deux chaînes. Je prends s1, je prends S2 et je vais retourner s1.length() + s2.length(); pour terminer ma ligne. Dans la mesure où BiFunction est connue, donc il me faut effectivement l'import de java.util.function BiFunction. Je devrais maintenant pouvoir l'appliquer. longueur .apply. Et effectivement l'apply se fait sur deux chaînes de caractères différentes, apply, donc ("Fabien", "Xavier"); Je peux appliquer ma fonction de cette manière-là. Hop, une petite erreur quelque part que je dois corriger avant, + s2, effectivement, j'avais mis une majuscule ici. Bien entendu, même dans les langues d'expression, la casse est vérifiée et on n'a pas le droit de spécifier des noms de variables différents. Remarquons d'ailleurs que pendant qu'on en est à explorer les langues d'expression, on pourra signifier qu'ici, j'ai bien entendu obligation de fournir deux paramètres compatibles avec String, dûs aux paramètres de généricité de BiFunction. Mais je pourrais très bien en rajouter un petit peu et spécifier les types de paramètres dans les paramètres de l'expression Lambda. J'exécute ma fonction. Alors bien entendu, si je ne fais rien afficher, nous ne verrons rien, mais ça a eu l'air de bien se passer de toutes les façons. Mais il est vrai que c'est mieux quand même, si on pouvait avoir une petite trace. J'exécute et j'obtiens 12, ce qui est correct effectivement, puisque c'est le résultat de 6 plus 6, tout simplement. Quand aux BiPredicate, eh bien, que l'on doit bien entendu importer de la même façon que toutes les autres fonctions, qui ne sont ni dans Java Langue, ni dans le même package, donc java.function.biPredicate, je vais l'appliquer sur deux chaînes de caractères par exemple. Il va s'agir de savoir si ces chaînes de caractère sont plus grandes l'une que l'autre. estPlusGrande = donc je prend une chaîne de caractères (s1, je prends une chaîne de caractères, s2) en faisant attention à la casse et en fait là, je vais retourner, si s1.length() > s2.length(). Et maintenant, je vais appliquer donc cette fonction estPlusGrande sur deux chaînes de caractères, donc testant les valeurs ("Fabien" et "Brissonneau"); Ici pour y voir quelque chose, encore une fois je vais faire un petit affichage console. Alors l'IHM console c'est un peu robuste, mais ça marche pas mal. J'exécute mon code et ici effectivement il détecte que cette chaîne de caractères-là est plus petite, ou du moins n'est pas plus grande que la deuxième chaine de caractères. Donc ça c'est un exemple d'application des BiFunction et BiPredicate. Là on en aura besoin.

Java 8 : Les nouveautés

Découvrez les nouveautés introduites par la version 8 de Java. Voyez les expressions lambda, les références de méthodes, les méthodes par défaut dans les interfaces, etc.

1h44 (21 vidéos)
Aucun commentaire n´est disponible actuellement
Logiciel :
Spécial abonnés
Date de parution :17 août 2015

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !