Guava - İsteğe Bağlı Sınıf
İsteğe bağlı, boş olmayan bir nesneyi içermek için kullanılan değişmez bir nesnedir. İsteğe bağlı nesne, boş değeri olmayan değerle temsil etmek için kullanılır. Bu sınıf, kodun boş değerleri kontrol etmek yerine kullanılabilir veya mevcut olmayan değerleri işlemesini kolaylaştırmak için çeşitli yardımcı yöntemlere sahiptir.
Sınıf Beyanı
Aşağıdaki beyanı com.google.common.base.Optional<T> sınıf -
@GwtCompatible(serializable = true)
public abstract class Optional<T>
extends Object
implements Serializable
Sınıf Yöntemleri
Sr.No | Yöntem ve Açıklama |
---|---|
1 | static <T> Optional<T> absent() İçeren başvuru içermeyen İsteğe bağlı bir örnek döndürür. |
2 | abstract Set<T> asSet() Varsa, tek öğesi içerilen örnek olan değişmez bir tekil Küme döndürür; aksi takdirde boş bir değişmez Set. |
3 | abstract boolean equals(Object object) Nesne bir İsteğe Bağlı örnek ise ve içerdiği başvurular birbirine eşitse veya her ikisi de yoksa doğru döndürür. |
4 | static <T> Optional<T> fromNullable(T nullableReference) NullableReference null değilse, bu başvuruyu içeren bir İsteğe Bağlı örnek döndürür; aksi takdirde yok () döndürür. |
5 | abstract T get() Mevcut olması gereken içerilen örneği döndürür. |
6 | abstract int hashCode() Bu örnek için bir karma kod döndürür. |
7 | abstract boolean isPresent() Bu tutucu bir (boş olmayan) örnek içeriyorsa doğru döndürür. |
8 | static <T> Optional<T> of(T reference) Verilen boş olmayan referansı içeren İsteğe bağlı bir örnek döndürür. |
9 | abstract Optional<T> or(Optional<? extends T> secondChoice) Mevcut bir değeri varsa, bu İsteğe Bağlı'yı döndürür; Aksi takdirde secondChoice. |
10 | abstract T or(Supplier<? extends T> supplier) Varsa, içerilen örneği döndürür; aksi takdirde tedarikçi.get (). |
11 | abstract T or(T defaultValue) Varsa, içerilen örneği döndürür; defaultValue aksi takdirde. |
12 | abstract T orNull() Varsa, içerilen örneği döndürür; Aksi takdirde null. |
13 | static <T> Iterable<T> presentInstances(Iterable<? extends Optional<? extends T>> optionals) Yok () oluşumlarını atlayarak, sağlanan seçeneklerden mevcut her örneğin değerini sırayla döndürür. |
14 | abstract String toString() Bu örnek için bir dize temsili döndürür. |
15 | abstract <V> Optional<V> transform(Function<? super T,V> function) Örnek mevcutsa, verilen Fonksiyon ile dönüştürülür; aksi takdirde yok () döndürülür. |
Miras Alınan Yöntemler
Bu sınıf, aşağıdaki sınıftan yöntemleri miras alır -
- java.lang.Object
İsteğe Bağlı Sınıf Örneği
Seçtiğiniz herhangi bir düzenleyiciyi kullanarak aşağıdaki java programını oluşturun 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;
}
}
Sonucu Doğrulayın
Kullanarak sınıfı derleyin javac aşağıdaki gibi derleyici -
C:\Guava>javac GuavaTester.java
Şimdi sonucu görmek için GuavaTester'ı çalıştırın.
C:\Guava>java GuavaTester
Sonucu görün.
First parameter is present: false
Second parameter is present: true
10