logo

Java valfri klass

Java introducerade en ny klass Optional i jdk8. Det är en offentlig sista klass och används för att hantera NullPointerException i Java-applikationen. Du måste importera java.util-paketet för att använda den här klassen. Den tillhandahåller metoder som används för att kontrollera närvaron av värde för en viss variabel.

Java valfria klassmetoder

Metoder Beskrivning
public static Valfri empty() Det returnerar ett tomt Valfritt objekt. Inget värde finns för detta tillval.
offentlig statisk Valfri (T-värde) Den returnerar en Optional med det angivna nuvarande icke-nullvärdet.
offentlig statisk Valfri avNullable(T-värde) Den returnerar en Optional som beskriver det angivna värdet, om den inte är null, annars returnerar den en tom Optional.
public T get() Om ett värde finns i detta Valfria, returnerar värdet, annars kastar NoSuchElementException.
public boolean isPresent() Det returnerar sant om det finns ett värde, annars falskt.
offentligt void ifPresent(Konsumentkonsument) Om ett värde finns, åberopa den angivna konsumenten med värdet, annars gör ingenting.
offentligt Valfritt filter (predikatpredikat) Om ett värde finns och värdet matchar det givna predikatet, returnera en Optional som beskriver värdet, annars returnera en tom Optional.
offentlig Valfri karta (Funktionsmappare) Om ett värde finns, använd den medföljande mappningsfunktionen på det, och om resultatet inte är null, returnera ett Valfritt som beskriver resultatet. Annars returnera en tom Valfri.
offentlig Valfri flatMap(Function Om ett värde finns, använd den medföljande Optional-bärande mappningsfunktionen på det, returnera det resultatet, annars returnera en tom Optional.
offentlig T orElse(T annan) Det returnerar värdet om det finns, annars returnerar det annat.
public T orElseGet(Annan leverantör) Det returnerar värdet om det finns, annars anropar andra och returnerar resultatet av det anropet.
public T orElseThrow(Supplier exceptionSupplier) kastar X extends Throwable Den returnerar det inneslutna värdet, om det finns, annars skapas ett undantag som skapas av den tillhandahållna leverantören.
offentlig boolesk lika med (Objekt obj) Indikerar om något annat objekt är 'lika med' detta Valfria eller inte. Det andra objektet anses lika om:
  • Det är också en Valfri och;
  • Båda instanserna har inget värde närvarande eller;
  • de nuvarande värdena är 'lika' med varandra via equals().
public int hashCode() Den returnerar hashkodvärdet för det aktuella värdet, om det finns, eller returnerar 0 (noll) om inget värde finns.
public String toString() Den returnerar en icke-tom strängrepresentation av detta tillval som är lämpligt för felsökning. Det exakta presentationsformatet är ospecificerat och kan variera mellan implementeringar och versioner.

Exempel: Java-program utan att använda tillval

I följande exempel använder vi inte Optional class. Detta program avslutas på ett onormalt sätt och skickar ett nullPointerException.

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

Produktion:

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

För att undvika den onormala uppsägningen använder vi Optional class. I följande exempel använder vi Optional. Så vårt program kan köras utan att krascha.


Java valfritt exempel: Om värde inte finns

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

Produktion:

 string value is not present 

Java valfritt exempel: Om värde är närvarande

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

Produktion:

 java optional class example 

Ett annat Java valfritt exempel

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

Produktion:

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

Java valfria metoder Exempel

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

Produktion:

 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