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