Goyave - Aperçu
Qu'est-ce que la goyave?
Guava est une bibliothèque open source basée sur Java et contient de nombreuses bibliothèques de base de Google, qui sont utilisées dans nombre de leurs projets. Il facilite les meilleures pratiques de codage et aide à réduire les erreurs de codage. Il fournit des méthodes utilitaires pour les collections, la mise en cache, la prise en charge des primitives, la concurrence, les annotations communes, le traitement des chaînes, les E / S et les validations.
Avantages de la goyave
Standardized - La bibliothèque Guava est gérée par Google.
Efficient - C'est une extension fiable, rapide et efficace de la bibliothèque standard Java.
Optimized - La bibliothèque est hautement optimisée.
Functional Programming - Il ajoute une capacité de traitement fonctionnelle à Java.
Utilities - Il fournit de nombreuses classes d'utilitaires qui sont régulièrement requises dans le développement d'applications de programmation.
Validation - Il fournit un mécanisme de validation de sécurité standard.
Best Practices - Il met l'accent sur les meilleures pratiques.
Considérez l'extrait de code suivant.
public class GuavaTester {
public static void main(String args[]) {
GuavaTester guavaTester = new GuavaTester();
Integer a = null;
Integer b = new Integer(10);
System.out.println(guavaTester.sum(a,b));
}
public Integer sum(Integer a, Integer b) {
return a + b;
}
}
Exécutez le programme pour obtenir le résultat suivant.
Exception in thread "main" java.lang.NullPointerException
at GuavaTester.sum(GuavaTester.java:13)
at GuavaTester.main(GuavaTester.java:9)
Voici les problèmes avec le code.
sum () ne prend en charge aucun des paramètres à passer comme null.
La fonction appelante ne craint pas non plus de passer accidentellement un null à la méthode sum ().
Lorsque le programme s'exécute, NullPointerException se produit.
Afin d'éviter les problèmes ci-dessus, un contrôle nul doit être effectué à chaque endroit où de tels problèmes sont présents.
Voyons l'utilisation de Optional, une classe Utility fournie par Guava, pour résoudre les problèmes ci-dessus de manière standardisée.
import com.google.common.base.Optional;
public class GuavaTester {
public static void main(String args[]) {
GuavaTester guavaTester = new GuavaTester();
Integer invalidInput = null;
Optional<Integer> a = Optional.of(invalidInput);
Optional<Integer> b = Optional.of(new Integer(10));
System.out.println(guavaTester.sum(a,b));
}
public Integer sum(Optional<Integer> a, Optional<Integer> b) {
return a.get() + b.get();
}
}
Exécutez le programme pour obtenir le résultat suivant.
Exception in thread "main" java.lang.NullPointerException
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:210)
at com.google.common.base.Optional.of(Optional.java:85)
at GuavaTester.main(GuavaTester.java:8)
Comprenons les concepts importants du programme ci-dessus.
Optional - Une classe utilitaire, pour que le code utilise correctement la valeur null.
Optional.of- Il renvoie l'instance de la classe facultative à utiliser comme paramètre. Il vérifie que la valeur transmise n'est pas «nulle».
Optional.get - Il récupère la valeur de l'entrée stockée dans la classe Optional.
À l'aide de la classe Optional, vous pouvez vérifier si la méthode de l'appelant transmet un paramètre approprié ou non.