Guave - Übersicht
Was ist Guave?
Guava ist eine Open Source-Bibliothek auf Java-Basis und enthält viele Kernbibliotheken von Google, die in vielen ihrer Projekte verwendet werden. Es erleichtert die besten Codierungspraktiken und hilft, Codierungsfehler zu reduzieren. Es bietet Dienstprogrammmethoden für Sammlungen, Caching, Unterstützung von Grundelementen, Parallelität, allgemeine Anmerkungen, Zeichenfolgenverarbeitung, E / A und Validierungen.
Vorteile von Guave
Standardized - Die Guava-Bibliothek wird von Google verwaltet.
Efficient - Es ist eine zuverlässige, schnelle und effiziente Erweiterung der Java-Standardbibliothek.
Optimized - Die Bibliothek ist stark optimiert.
Functional Programming - Es erweitert Java um funktionale Verarbeitungsfunktionen.
Utilities - Es bietet viele Dienstprogrammklassen, die regelmäßig für die Entwicklung von Programmieranwendungen benötigt werden.
Validation - Es bietet einen standardmäßigen ausfallsicheren Validierungsmechanismus.
Best Practices - Der Schwerpunkt liegt auf Best Practices.
Betrachten Sie das folgende Code-Snippet.
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;
}
}
Führen Sie das Programm aus, um das folgende Ergebnis zu erhalten.
Exception in thread "main" java.lang.NullPointerException
at GuavaTester.sum(GuavaTester.java:13)
at GuavaTester.main(GuavaTester.java:9)
Es folgen die Probleme mit dem Code.
sum () kümmert sich nicht um einen der Parameter, die als null übergeben werden sollen.
Die Aufruferfunktion ist auch nicht besorgt darüber, dass versehentlich eine Null an die sum () -Methode übergeben wird.
Wenn das Programm ausgeführt wird, tritt eine NullPointerException auf.
Um die oben genannten Probleme zu vermeiden, ist an jedem Ort, an dem solche Probleme vorliegen, eine Nullprüfung durchzuführen.
Sehen wir uns die Verwendung von Optional an, einer von Guava bereitgestellten Utility-Klasse, um die oben genannten Probleme auf standardisierte Weise zu lösen.
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();
}
}
Führen Sie das Programm aus, um das folgende Ergebnis zu erhalten.
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)
Lassen Sie uns die wichtigen Konzepte des obigen Programms verstehen.
Optional - Eine Utility-Klasse, damit der Code die Null richtig verwendet.
Optional.of- Gibt die Instanz der optionalen Klasse zurück, die als Parameter verwendet werden soll. Es überprüft den übergebenen Wert, um nicht 'null' zu sein.
Optional.get - Ermittelt den Wert der Eingabe, die in der optionalen Klasse gespeichert ist.
Mit der optionalen Klasse können Sie überprüfen, ob die Aufrufermethode einen geeigneten Parameter übergibt oder nicht.