logo

Java optionele klasse

Java introduceerde een nieuwe klasse Optioneel in jdk8. Het is een openbare laatste klasse en wordt gebruikt om met NullPointerException in Java-applicaties om te gaan. U moet het java.util-pakket importeren om deze klasse te kunnen gebruiken. Het biedt methoden die worden gebruikt om de aanwezigheid van waarde voor een bepaalde variabele te controleren.

Java Optionele klassenmethoden

Methoden Beschrijving
public static Optioneel empty() Het retourneert een leeg Optioneel object. Er is geen waarde aanwezig voor deze Optioneel.
publiek statisch Optioneel van(T-waarde) Het retourneert een Optioneel met de opgegeven huidige niet-null-waarde.
public static Optioneel ofNullable(T-waarde) Het retourneert een Optioneel die de opgegeven waarde beschrijft, indien niet nul, en retourneert anders een lege Optioneel.
openbare T get() Als er een waarde aanwezig is in deze Optionele optie, wordt de waarde geretourneerd, anders wordt er NoSuchElementException gegenereerd.
publieke boolean isPresent() Het retourneert waar als er een waarde aanwezig is, anders onwaar.
public void ifPresent(consument-consument) Als er een waarde aanwezig is, roep dan de opgegeven consument aan met de waarde, anders doe je niets.
public Optioneel filter(Predicaat predikaat) Als er een waarde aanwezig is en de waarde overeenkomt met het gegeven predikaat, retourneer dan een Optioneel die de waarde beschrijft, en retourneer anders een lege Optioneel.
publiek Optionele kaart (Functietoewijzer) Als er een waarde aanwezig is, past u de meegeleverde toewijzingsfunctie erop toe, en als het resultaat niet nul is, retourneert u een Optioneel dat het resultaat beschrijft. Retourneer anders een lege Optioneel.
public Optioneel flatMap(Function Als er een waarde aanwezig is, pas dan de meegeleverde Optioneel-dragende toewijzingsfunctie toe, retourneer dat resultaat, retourneer anders een lege Optioneel.
openbare T ofElse(T andere) Het retourneert de waarde indien aanwezig, anders retourneert het andere.
public T orElseGet(Andere leverancier) Het retourneert de waarde indien aanwezig, anders roept het andere aan en retourneert het resultaat van die aanroep.
public T orElseThrow(LeverancieruitzonderingLeverancier) gooit X verlengt Gooibaar Het retourneert de ingesloten waarde, indien aanwezig, anders wordt er een uitzondering gegenereerd die door de opgegeven leverancier moet worden gemaakt.
public boolean is gelijk aan (Object obj) Geeft aan of een ander object 'gelijk is aan' deze Optioneel of niet. Het andere object wordt als gelijk beschouwd als:
  • Het is ook een optionele en;
  • Beide instanties hebben geen aanwezige waarde of;
  • de huidige waarden zijn 'gelijk aan' elkaar via equals().
public int hashCode() Het retourneert de hashcodewaarde van de huidige waarde, indien aanwezig, of retourneert 0 (nul) als er geen waarde aanwezig is.
openbare tekenreeks toString() Het retourneert een niet-lege tekenreeksrepresentatie van deze optionele optie, geschikt voor foutopsporing. Het exacte presentatieformaat is niet gespecificeerd en kan variëren tussen implementaties en versies.

Voorbeeld: Java-programma zonder Optioneel te gebruiken

In het volgende voorbeeld gebruiken we de optionele klasse niet. Dit programma wordt abnormaal beëindigd en genereert een nullPointerException.

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

Uitgang:

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

Om de abnormale beëindiging te voorkomen, gebruiken we de optionele klasse. In het volgende voorbeeld gebruiken we Optioneel. Ons programma kan dus worden uitgevoerd zonder te crashen.


Java Optioneel Voorbeeld: als waarde niet aanwezig is

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

Uitgang:

 string value is not present 

Java Optioneel Voorbeeld: als waarde aanwezig is

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

Uitgang:

 java optional class example 

Nog een optioneel Java-voorbeeld

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

Uitgang:

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

Java Optionele Methoden Voorbeeld

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

Uitgang:

 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