Guave - Optionale Klasse

Optional ist ein unveränderliches Objekt, das ein Nicht-Null-Objekt enthält. Das optionale Objekt wird verwendet, um Null mit fehlendem Wert darzustellen. Diese Klasse verfügt über verschiedene Dienstprogrammmethoden, mit denen der Code Werte als verfügbar oder nicht verfügbar verarbeiten kann, anstatt Nullwerte zu überprüfen.

Klassenerklärung

Es folgt die Erklärung für com.google.common.base.Optional<T> Klasse -

@GwtCompatible(serializable = true)
public abstract class Optional<T>
   extends Object
      implements Serializable

Klassenmethoden

Sr.Nr. Methode & Beschreibung
1

static <T> Optional<T> absent()

Gibt eine optionale Instanz ohne Referenz zurück.

2

abstract Set<T> asSet()

Gibt eine unveränderliche Singleton-Menge zurück, deren einziges Element die enthaltene Instanz ist, falls vorhanden. ein leeres unveränderliches Set sonst.

3

abstract boolean equals(Object object)

Gibt true zurück, wenn das Objekt eine optionale Instanz ist und entweder die enthaltenen Referenzen gleich sind oder beide fehlen.

4

static <T> Optional<T> fromNullable(T nullableReference)

Wenn nullableReference nicht null ist, wird eine optionale Instanz zurückgegeben, die diese Referenz enthält. Andernfalls wird abwesend zurückgegeben ().

5

abstract T get()

Gibt die enthaltene Instanz zurück, die vorhanden sein muss.

6

abstract int hashCode()

Gibt einen Hash-Code für diese Instanz zurück.

7

abstract boolean isPresent()

Gibt true zurück, wenn dieser Inhaber eine (nicht null) Instanz enthält.

8

static <T> Optional<T> of(T reference)

Gibt eine optionale Instanz zurück, die die angegebene Nicht-Null-Referenz enthält.

9

abstract Optional<T> or(Optional<? extends T> secondChoice)

Gibt diese Option zurück, wenn ein Wert vorhanden ist. secondWählen Sie anders.

10

abstract T or(Supplier<? extends T> supplier)

Gibt die enthaltene Instanz zurück, wenn sie vorhanden ist. lieferant.get () sonst.

11

abstract T or(T defaultValue)

Gibt die enthaltene Instanz zurück, wenn sie vorhanden ist. sonst defaultValue.

12

abstract T orNull()

Gibt die enthaltene Instanz zurück, wenn sie vorhanden ist. sonst null.

13

static <T> Iterable<T> presentInstances(Iterable<? extends Optional<? extends T>> optionals)

Gibt den Wert jeder vorhandenen Instanz aus den angegebenen Optionen zurück, um das Auftreten von Abwesenheit () zu überspringen.

14

abstract String toString()

Gibt eine Zeichenfolgendarstellung für diese Instanz zurück.

15

abstract <V> Optional<V> transform(Function<? super T,V> function)

Wenn die Instanz vorhanden ist, wird sie mit der angegebenen Funktion transformiert. Andernfalls wird abwesend () zurückgegeben.

Vererbte Methoden

Diese Klasse erbt Methoden von der folgenden Klasse:

  • java.lang.Object

Beispiel einer optionalen Klasse

Erstellen Sie das folgende Java-Programm mit einem beliebigen Editor Ihrer Wahl 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;
   }	
}

Überprüfen Sie das Ergebnis

Kompilieren Sie die Klasse mit javac Compiler wie folgt -

C:\Guava>javac GuavaTester.java

Führen Sie nun den GuavaTester aus, um das Ergebnis anzuzeigen.

C:\Guava>java GuavaTester

Siehe das Ergebnis.

First parameter is present: false
Second parameter is present: true
10