logo

Java valgfri klasse

Java introduserte en ny klasse Valgfritt i jdk8. Det er en offentlig siste klasse og brukes til å håndtere NullPointerException i Java-applikasjonen. Du må importere java.util-pakken for å bruke denne klassen. Den gir metoder som brukes til å kontrollere tilstedeværelsen av verdi for en bestemt variabel.

Java valgfri klassemetoder

Metoder Beskrivelse
offentlig statisk Valgfri tom() Den returnerer et tomt valgfritt objekt. Ingen verdi er tilstede for denne valgfrie.
offentlig statisk Valgfri (T-verdi) Den returnerer en valgfri med den angitte verdien som ikke er null.
offentlig statisk Valgfri avNullable(T-verdi) Den returnerer en Optional som beskriver den angitte verdien, hvis den ikke er null, ellers returnerer den en tom Optional.
offentlig T få() Hvis en verdi er tilstede i denne valgfrie, returnerer verdien, ellers kaster NoSuchElementException.
offentlig boolsk er tilstede() Det returnerer sant hvis det er en verdi til stede, ellers usann.
offentlig void ifPresent (forbrukerforbruker) Hvis en verdi er til stede, påkall den angitte forbrukeren med verdien, ellers gjør ingenting.
offentlig Valgfritt filter (predikatpredikat) Hvis en verdi er tilstede, og verdien samsvarer med det gitte predikatet, returner et valgfritt som beskriver verdien, ellers returner et tomt valgfritt.
offentlig Valgfritt kart (Funksjonskartlegger) Hvis en verdi er tilstede, bruk den angitte tilordningsfunksjonen på den, og hvis resultatet ikke er null, returnerer du et valgfritt som beskriver resultatet. Ellers returner en tom Valgfri.
offentlig Valgfritt flatMap(Function Hvis en verdi er tilstede, bruk den angitte valgfrie bærende kartleggingsfunksjonen på den, returner det resultatet, ellers returner et tomt valgfritt.
offentlig T orElse(T annet) Den returnerer verdien hvis den er tilstede, ellers returnerer den annen.
offentlig T orElseGet(andre leverandør) Den returnerer verdien hvis den er til stede, ellers påkaller andre og returnerer resultatet av den påkallingen.
offentlig T orElseThrow(Supplier exceptionSupplier) kaster X forlenger Kastbar Den returnerer den inneholdte verdien, hvis den er til stede, ellers gir den et unntak som opprettes av den oppgitte leverandøren.
offentlig boolsk lik(Object obj) Angir om et annet objekt er 'lik' dette valgfrie eller ikke. Det andre objektet anses som likt hvis:
  • Det er også en valgfri og;
  • Begge forekomstene har ingen verdi tilstede eller;
  • nåverdiene er 'lik' hverandre via equals().
offentlig int hashCode() Den returnerer hash-kodeverdien til nåverdien, hvis noen, eller returnerer 0 (null) hvis ingen verdi er til stede.
offentlig streng til streng() Den returnerer en ikke-tom strengrepresentasjon av denne valgfrie egnet for feilsøking. Det nøyaktige presentasjonsformatet er uspesifisert og kan variere mellom implementeringer og versjoner.

Eksempel: Java-program uten å bruke Valgfritt

I det følgende eksempelet bruker vi ikke Optional class. Dette programmet avsluttes unormalt og sender en nullPointerException.

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

Produksjon:

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

For å unngå den unormale oppsigelsen bruker vi Optional class. I det følgende eksempelet bruker vi Optional. Så programmet vårt kan kjøres uten å krasje.


Java valgfritt eksempel: Hvis verdi ikke er tilstede

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

Produksjon:

 string value is not present 

Java valgfritt eksempel: Hvis verdien er tilstede

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

Produksjon:

 java optional class example 

Et annet Java valgfritt eksempel

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

Produksjon:

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

Eksempel på Java valgfrie metoder

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

Produksjon:

 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