logo

Clasa opțională Java

Java a introdus o nouă clasă Opțională în jdk8. Este o clasă finală publică și folosită pentru a face față NullPointerException în aplicația Java. Trebuie să importați pachetul java.util pentru a utiliza această clasă. Acesta oferă metode care sunt utilizate pentru a verifica prezența valorii pentru o anumită variabilă.

câte taste au tastaturile

Metode de clasă opționale Java

Metode Descriere
public static Opțional empty() Returnează un obiect Opțional gol. Nu este prezentă nicio valoare pentru acest opțional.
public static Opțional pentru (valoare T) Returnează un Opțional cu valoarea prezentă non-nulă specificată.
public static Opțional ofNullable (valoare T) Returnează un Opțional care descrie valoarea specificată, dacă nu este nul, în caz contrar returnează un Opțional gol.
public T get() Dacă o valoare este prezentă în acest Opțional, returnează valoarea, în caz contrar, aruncă NoSuchElementException.
public boolean isPresent() Returnează adevărat dacă există o valoare prezentă, în caz contrar, fals.
public void ifPresent (consumator) Dacă este prezentă o valoare, invocați consumatorul specificat cu valoarea, altfel nu faceți nimic.
public Filtru opțional (predicat predicat) Dacă o valoare este prezentă și valoarea se potrivește cu predicatul dat, returnați un Opțional care descrie valoarea, în caz contrar returnați un Opțional gol.
public Hartă opțională (Function mapper) Dacă este prezentă o valoare, aplicați-i funcția de mapare furnizată și, dacă rezultatul este non-null, returnați un Opțional care descrie rezultatul. În caz contrar, returnați un Opțional gol.
public Opțional flatMap (Funcția Dacă este prezentă o valoare, aplicați-i funcția de mapare opțională furnizată, returnați acel rezultat, altfel returnați un Opțional gol.
public T orElse(T altul) Returnează valoarea dacă este prezentă, în caz contrar returnează alta.
public T orElseGet (altul furnizor) Returnează valoarea dacă este prezentă, în caz contrar invocă other și returnează rezultatul acelei invocări.
public T orElseThrow(Excepție Furnizor Furnizor) aruncă X extinde Throwable Returnează valoarea conținută, dacă este prezentă, altfel se aruncă o excepție care trebuie creată de furnizorul furnizat.
public boolean equals(Object object) Indică dacă un alt obiect este „egal cu” acest Opțional sau nu. Celălalt obiect este considerat egal dacă:
  • Este, de asemenea, opțional și;
  • Ambele instanțe nu au nicio valoare prezentă sau;
  • valorile prezente sunt „egale” între ele prin equals().
public int hashCode() Returnează valoarea codului hash a valorii prezente, dacă există, sau returnează 0 (zero) dacă nu este prezentă nicio valoare.
public String toString() Returnează o reprezentare șir non-vid a acestui Opțional adecvat pentru depanare. Formatul exact de prezentare este nespecificat și poate varia între implementări și versiuni.

Exemplu: Program Java fără a utiliza opțional

În exemplul următor, nu folosim clasa Opțională. Acest program se termină anormal și lansează o excepție nullPointerException.

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

Ieșire:

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

Pentru a evita terminarea anormală, folosim clasa Opțională. În exemplul următor, folosim Opțional. Deci, programul nostru se poate executa fără să se blocheze.


Exemplu opțional Java: dacă valoarea nu este prezentă

 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'); } } 

Ieșire:

 string value is not present 

Exemplu opțional Java: dacă valoarea este prezentă

 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'); } } 

Ieșire:

stivă java
 java optional class example 

Un alt exemplu opțional Java

 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()); } } 

Ieșire:

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

Exemplu de metode opționale Java

 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 } } 

Ieșire:

 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