logo

Java İsteğe Bağlı Sınıf

Java, jdk8'de yeni bir Optional sınıfını tanıttı. Bu genel bir son sınıftır ve Java uygulamasında NullPointerException ile başa çıkmak için kullanılır. Bu sınıfı kullanmak için Java.util paketini içe aktarmanız gerekir. Belirli bir değişken için değerin varlığını kontrol etmek için kullanılan yöntemleri sağlar.

Java İsteğe Bağlı Sınıf Yöntemleri

Yöntemler Tanım
public static İsteğe bağlı empty() Boş bir Optional nesne döndürür. Bu İsteğe bağlı için hiçbir değer mevcut değil.
public static İsteğe bağlı (T değeri) Belirtilen mevcut boş olmayan değere sahip bir İsteğe Bağlı döndürür.
public static İsteğe bağlı ofNullable(T değeri) Belirtilen değeri tanımlayan bir Optional değerini (eğer boş değilse) döndürür, aksi halde boş bir Optional değerini döndürür.
halka açık T get() Bu Optional'da bir değer mevcutsa değeri döndürür, aksi halde NoSuchElementException oluşturur.
genel boolean isPresent() Bir değer mevcutsa true, aksi halde false değerini döndürür.
genel geçersiz ifPresent(Tüketici tüketici) Bir değer mevcutsa, belirtilen tüketiciyi bu değerle çağırın, aksi takdirde hiçbir şey yapmayın.
public İsteğe bağlı filtre (Yüklem yüklemi) Bir değer mevcutsa ve değer verilen yüklemle eşleşiyorsa, değeri açıklayan bir Optional döndürün, aksi halde boş bir Optional döndürün.
herkese açık İsteğe bağlı harita (İşlev eşleyici) Bir değer mevcutsa, sağlanan eşleme işlevini buna uygulayın ve sonuç boş değilse, sonucu açıklayan bir İsteğe Bağlı döndürün. Aksi takdirde boş bir İsteğe Bağlı döndürün.
public İsteğe bağlı flatMap(İşlev Bir değer mevcutsa, sağlanan İsteğe bağlı eşleme işlevini buna uygulayın, bu sonucu döndürün, aksi takdirde boş bir İsteğe Bağlı döndürün.
public T orElse(T other) Varsa değeri döndürür, yoksa diğerini döndürür.
public T orElseGet(Tedarikçi diğer) Varsa değeri döndürür, aksi takdirde other'ı çağırır ve bu çağırmanın sonucunu döndürür.
public T orElseThrow(Tedarikçi istisnasıTedarikçi) fırlatır X uzatır Atılabilir Varsa içerilen değeri döndürür, aksi takdirde sağlanan tedarikçi tarafından oluşturulacak bir istisna atar.
genel boole eşittir (Object obj) Başka bir nesnenin buna 'eşit' olup olmadığını belirtir İsteğe Bağlı. Diğer nesne şu durumlarda eşit kabul edilir:
  • Ayrıca Opsiyonel olup;
  • Her iki örneğin de hiçbir değeri yoktur veya;
  • mevcut değerler equals() aracılığıyla birbirine 'eşittir'.
public int hashCode() Varsa mevcut değerin hash kod değerini, değer yoksa 0 (sıfır) değerini döndürür.
public String toString() Hata ayıklama için uygun olan bu Optional'ın boş olmayan bir dize temsilini döndürür. Tam sunum formatı belirtilmemiştir ve uygulamalar ve sürümler arasında değişiklik gösterebilir.

Örnek: İsteğe Bağlı kullanmadan Java Programı

Aşağıdaki örnekte Optional sınıfını kullanmıyoruz. Bu program anormal şekilde sonlandırılıyor ve bir nullPointerException oluşturuyor.

 public class OptionalExample { public static void main(String[] args) { String[] str = new String[10]; String lowercaseString = str[5].toLowerCase(); System.out.print(lowercaseString); } } 

Çıktı:

 Exception in thread 'main' java.lang.NullPointerException at lambdaExample.OptionalExample.main(OptionalExample.java:6) 

Anormal sonlanmayı önlemek için Optional sınıfını kullanıyoruz. Aşağıdaki örnekte Optional kullanıyoruz. Böylece programımız çökmeden çalışabilir.


Java İsteğe Bağlı Örnek: Değer Mevcut Değilse

 import java.util.Optional; public class OptionalExample { public static void main(String[] args) { String[] str = new String[10]; Optional checkNull = Optional.ofNullable(str[5]); if(checkNull.isPresent()){ // check for value is present or not String lowercaseString = str[5].toLowerCase(); System.out.print(lowercaseString); }else System.out.println('string value is not present'); } } 

Çıktı:

 string value is not present 

Java İsteğe Bağlı Örnek: Değer Mevcutsa

 import java.util.Optional; public class OptionalExample { public static void main(String[] args) { String[] str = new String[10]; str[5] = 'JAVA OPTIONAL CLASS EXAMPLE';// Setting value for 5th index Optional checkNull = Optional.ofNullable(str[5]); if(checkNull.isPresent()){ // It Checks, value is present or not String lowercaseString = str[5].toLowerCase(); System.out.print(lowercaseString); }else System.out.println('String value is not present'); } } 

Çıktı:

 java optional class example 

Başka Bir İsteğe Bağlı Java Örneği

 import java.util.Optional; public class OptionalExample { public static void main(String[] args) { String[] str = new String[10]; str[5] = 'JAVA OPTIONAL CLASS EXAMPLE'; // Setting value for 5th index Optional checkNull = Optional.ofNullable(str[5]); checkNull.ifPresent(System.out::println); // printing value by using method reference System.out.println(checkNull.get()); // printing value by using get method System.out.println(str[5].toLowerCase()); } } 

Çıktı:

 JAVA OPTIONAL CLASS EXAMPLE JAVA OPTIONAL CLASS EXAMPLE java optional class example 

Java İsteğe Bağlı Yöntemler Örneği

 import java.util.Optional; public class OptionalExample { public static void main(String[] args) { String[] str = new String[10]; str[5] = 'JAVA OPTIONAL CLASS EXAMPLE'; // Setting value for 5th index // It returns an empty instance of Optional class Optional empty = Optional.empty(); System.out.println(empty); // It returns a non-empty Optional Optional value = Optional.of(str[5]); // If value is present, it returns an Optional otherwise returns an empty Optional System.out.println('Filtered value: '+value.filter((s)->s.equals('Abc'))); System.out.println('Filtered value: '+value.filter((s)->s.equals('JAVA OPTIONAL CLASS EXAMPLE'))); // It returns value of an Optional. if value is not present, it throws an NoSuchElementException System.out.println('Getting value: '+value.get()); // It returns hashCode of the value System.out.println('Getting hashCode: '+value.hashCode()); // It returns true if value is present, otherwise false System.out.println('Is value present: '+value.isPresent()); // It returns non-empty Optional if value is present, otherwise returns an empty Optional System.out.println('Nullable Optional: '+Optional.ofNullable(str[5])); // It returns value if available, otherwise returns specified value, System.out.println('orElse: '+value.orElse('Value is not present')); System.out.println('orElse: '+empty.orElse('Value is not present')); value.ifPresent(System.out::println); // printing value by using method reference } } 

Çıktı:

 Optional.empty Filtered value: Optional.empty Filtered value: Optional[JAVA OPTIONAL CLASS EXAMPLE] Getting value: JAVA OPTIONAL CLASS EXAMPLE Getting hashCode: -619947648 Is value present: true Nullable Optional: Optional[JAVA OPTIONAL CLASS EXAMPLE] orElse: JAVA OPTIONAL CLASS EXAMPLE orElse: Value is not present JAVA OPTIONAL CLASS EXAMPLE