logo

Java izborna klasa

Java je predstavila novu klasu Optional u jdk8. To je javna završna klasa i koristi se za rješavanje NullPointerException u Java aplikaciji. Morate uvesti paket java.util da biste koristili ovu klasu. Pruža metode koje se koriste za provjeru prisutnosti vrijednosti za određenu varijablu.

Neobavezne metode Java klase

Metode Opis
public static Izborno prazno() Vraća prazan objekt Optional. Nema vrijednosti za ovu opciju.
javni statički Neobavezno od (T vrijednost) Vraća Optional s navedenom sadašnjom vrijednošću koja nije nula.
public static Optional ofNullable(T value) Vraća Optional koji opisuje navedenu vrijednost, ako nije null, inače vraća prazan Optional.
javni T get() Ako je vrijednost prisutna u ovoj opciji, vraća vrijednost, u suprotnom izbacuje NoSuchElementException.
javni booleov isPresent() Vraća true ako je prisutna vrijednost, inače false.
public void ifPresent(Potrošač potrošač) Ako je vrijednost prisutna, pozovite navedenog potrošača s vrijednošću, inače ne učinite ništa.
javni Neobavezni filtar (predikat predikat) Ako je vrijednost prisutna, a vrijednost odgovara danom predikatu, vrati Optional koji opisuje vrijednost, inače vrati prazan Optional.
javna Izborna mapa (Maper funkcije) Ako je vrijednost prisutna, primijenite danu funkciju mapiranja na nju, a ako rezultat nije null, vratite Optional koji opisuje rezultat. U suprotnom vratite prazno Neobavezno.
public Izborni flatMap(funkcija Ako je vrijednost prisutna, primijenite na nju danu funkciju preslikavanja Optional-bearing, vratite taj rezultat, inače vratite praznu Optional.
javni T orElse(T other) Vraća vrijednost ako je prisutna, inače vraća drugu vrijednost.
javni T iliElseGet(Dobavljač ostalo) Vraća vrijednost ako je prisutna, inače poziva other i vraća rezultat tog poziva.
public T orElseThrow(Supplier exceptionSupplier) throws X extends Throwable Vraća sadržanu vrijednost, ako je prisutna, u suprotnom izbacuje iznimku koju će stvoriti navedeni dobavljač.
public boolean equals (Object obj) Označava je li neki drugi objekt 'jednak' ovom Optionalu ili nije. Drugi objekt se smatra jednakim ako:
  • Također je opcija i;
  • Oba slučaja nemaju prisutnu vrijednost ili;
  • sadašnje vrijednosti su 'jednake' jedna drugoj putem equals().
javni int hashCode() Vraća vrijednost hash koda trenutne vrijednosti, ako postoji, ili vraća 0 (nula) ako vrijednost nije prisutna.
javni niz u niz () Vraća neprazan prikaz niza ove opcije pogodan za otklanjanje pogrešaka. Točan format prezentacije nije određen i može se razlikovati od implementacije do verzije.

Primjer: Java program bez korištenja Optional

U sljedećem primjeru ne koristimo Optional klasu. Ovaj program nenormalno završava i izbacuje nullPointerException.

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

Izlaz:

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

Kako bismo izbjegli abnormalno prekidanje, koristimo Optional klasu. U sljedećem primjeru koristimo Optional. Dakle, naš se program može izvršiti bez rušenja.


Java izborni primjer: ako vrijednost nije prisutna

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

Izlaz:

 string value is not present 

Java izborni primjer: ako je vrijednost prisutna

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

Izlaz:

 java optional class example 

Još jedan Java izborni primjer

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

Izlaz:

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

Primjer neobaveznih metoda u Javi

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

Izlaz:

 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