Goyave - Classe facultative
Facultatif est un objet immuable utilisé pour contenir un objet non nul. L'objet facultatif est utilisé pour représenter null avec une valeur absente. Cette classe a diverses méthodes utilitaires pour faciliter le code pour gérer les valeurs disponibles ou non disponibles au lieu de vérifier les valeurs nulles.
Déclaration de classe
Voici la déclaration pour com.google.common.base.Optional<T> classe -
@GwtCompatible(serializable = true)
public abstract class Optional<T>
extends Object
implements Serializable
Méthodes de classe
Sr. Non | Méthode et description |
---|---|
1 | static <T> Optional<T> absent() Renvoie une instance facultative sans référence contenue. |
2 | abstract Set<T> asSet() Renvoie un ensemble de singleton immuable dont le seul élément est l'instance contenue s'il est présent; un ensemble immuable vide autrement. |
3 | abstract boolean equals(Object object) Renvoie true si object est une instance facultative et que les références contenues sont égales l'une à l'autre ou les deux sont absentes. |
4 | static <T> Optional<T> fromNullable(T nullableReference) Si nullableReference est non nul, renvoie une instance facultative contenant cette référence; sinon renvoie absent (). |
5 | abstract T get() Renvoie l'instance contenue, qui doit être présente. |
6 | abstract int hashCode() Renvoie un code de hachage pour cette instance. |
sept | abstract boolean isPresent() Renvoie true si ce conteneur contient une instance (non nulle). |
8 | static <T> Optional<T> of(T reference) Renvoie une instance facultative contenant la référence non nulle donnée. |
9 | abstract Optional<T> or(Optional<? extends T> secondChoice) Renvoie cette option si elle a une valeur présente; secondChoice sinon. |
dix | abstract T or(Supplier<? extends T> supplier) Renvoie l'instance contenue si elle est présente; supplier.get () sinon. |
11 | abstract T or(T defaultValue) Renvoie l'instance contenue si elle est présente; defaultValue sinon. |
12 | abstract T orNull() Renvoie l'instance contenue si elle est présente; nul sinon. |
13 | static <T> Iterable<T> presentInstances(Iterable<? extends Optional<? extends T>> optionals) Renvoie la valeur de chaque instance présente à partir des options fournies, dans l'ordre, en ignorant les occurrences d'absence (). |
14 | abstract String toString() Renvoie une représentation sous forme de chaîne pour cette instance. |
15 | abstract <V> Optional<V> transform(Function<? super T,V> function) Si l'instance est présente, elle est transformée avec la fonction donnée; sinon, absent () est renvoyé. |
Méthodes héritées
Cette classe hérite des méthodes de la classe suivante -
- java.lang.Object
Exemple de classe facultative
Créez le programme Java suivant en utilisant n'importe quel éditeur de votre choix dans say C:/> Guava.
GuavaTester.java
import com.google.common.base.Optional;
public class GuavaTester {
public static void main(String args[]) {
GuavaTester guavaTester = new GuavaTester();
Integer value1 = null;
Integer value2 = new Integer(10);
//Optional.fromNullable - allows passed parameter to be null.
Optional<Integer> a = Optional.fromNullable(value1);
//Optional.of - throws NullPointerException if passed parameter is null
Optional<Integer> b = Optional.of(value2);
System.out.println(guavaTester.sum(a,b));
}
public Integer sum(Optional<Integer> a, Optional<Integer> b) {
//Optional.isPresent - checks the value is present or not
System.out.println("First parameter is present: " + a.isPresent());
System.out.println("Second parameter is present: " + b.isPresent());
//Optional.or - returns the value if present otherwise returns
//the default value passed.
Integer value1 = a.or(new Integer(0));
//Optional.get - gets the value, value should be present
Integer value2 = b.get();
return value1 + value2;
}
}
Vérifiez le résultat
Compilez la classe en utilisant javac compilateur comme suit -
C:\Guava>javac GuavaTester.java
Exécutez maintenant le GuavaTester pour voir le résultat.
C:\Guava>java GuavaTester
Voyez le résultat.
First parameter is present: false
Second parameter is present: true
10