logo

Voliteľná trieda Java

Java predstavila novú triedu Optional v jdk8. Je to verejná záverečná trieda a používa sa na riešenie výnimiek NullPointerException v aplikácii Java. Ak chcete použiť túto triedu, musíte importovať balík java.util. Poskytuje metódy, ktoré sa používajú na kontrolu prítomnosti hodnoty pre konkrétnu premennú.

Java voliteľné metódy triedy

Metódy Popis
public static Voliteľné empty() Vráti prázdny voliteľný objekt. Pre túto voliteľnú položku nie je prítomná žiadna hodnota.
public static Voliteľné z (hodnota T) Vráti voliteľné so zadanou súčasnou nenulovou hodnotou.
public static Voliteľné s možnosťou Nullable (hodnota T) Ak nie je null, vráti voliteľnú hodnotu popisujúcu zadanú hodnotu, inak vráti prázdnu voliteľnú hodnotu.
verejné T get() Ak je v tomto voliteľnom prítomná hodnota, vráti hodnotu, inak vyvolá NoSuchElementException.
public boolean isPresent() Ak je prítomná hodnota, vráti hodnotu true, inak hodnotu false.
verejná neplatnosť, ak je prítomná (spotrebiteľ, spotrebiteľ) Ak je prítomná hodnota, vyvolajte zadaného spotrebiteľa s hodnotou, inak nerobte nič.
public Voliteľný filter (predikátový predikát) Ak je prítomná hodnota a hodnota sa zhoduje s daným predikátom, vráťte voliteľné popisujúce hodnotu, v opačnom prípade vráťte prázdne voliteľné.
verejná Voliteľná mapa (mapovač funkcií) Ak je prítomná hodnota, použite na ňu poskytnutú funkciu mapovania a ak výsledok nie je nulový, vráťte voliteľné s popisom výsledku. V opačnom prípade vráťte prázdne voliteľné.
public Voliteľná plochá mapa (Funkcia Ak je prítomná hodnota, použite na ňu poskytnutú funkciu mapovania s voliteľným ložiskom, vráťte výsledok, inak vráťte prázdnu voliteľnú.
verejné T aleboElse (T iné) Ak je prítomná, vráti hodnotu, v opačnom prípade vráti inú.
public T orElseGet (Iný dodávateľ) Vráti hodnotu, ak je prítomná, inak vyvolá iné a vráti výsledok tohto vyvolania.
public T orElseThrow (výnimka dodávateľaDodávateľ) hodí X extends Throwable Vráti obsiahnutú hodnotu, ak je prítomná, inak vyvolá výnimku, ktorú vytvorí poskytnutý dodávateľ.
verejný boolovský rovná sa (objekt objektu) Označuje, či sa nejaký iný objekt „rovná“ tejto voliteľnej alebo nie. Druhý objekt sa považuje za rovnaký, ak:
  • Je to tiež voliteľné a;
  • Oba prípady nemajú žiadnu hodnotu alebo;
  • súčasné hodnoty sa navzájom „rovnajú“ prostredníctvom funkcie equals().
public int hashCode() Vráti hodnotu hash kódu súčasnej hodnoty, ak existuje, alebo vráti 0 (nulu), ak nie je prítomná žiadna hodnota.
verejný reťazec toString() Vracia neprázdnu reprezentáciu reťazca tejto voliteľnej položky vhodnej na ladenie. Presný formát prezentácie nie je špecifikovaný a môže sa líšiť medzi implementáciami a verziami.

Príklad: Program Java bez použitia voliteľného

V nasledujúcom príklade nepoužívame voliteľnú triedu. Tento program sa nenormálne ukončí a vyvolá výnimku nullPointerException.

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

Výkon:

koliesko myši sa neposúva správne
 Exception in thread 'main' java.lang.NullPointerException at lambdaExample.OptionalExample.main(OptionalExample.java:6) 

Aby sme sa vyhli abnormálnemu ukončeniu, používame voliteľnú triedu. V nasledujúcom príklade používame voliteľné. Náš program sa teda môže spustiť bez zlyhania.


Java Voliteľný Príklad: Ak hodnota nie je prítomná

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

Výkon:

 string value is not present 

Java Voliteľný Príklad: Ak je hodnota prítomná

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

Výkon:

 java optional class example 

Ďalší voliteľný príklad 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()); } } 

Výkon:

kto je urfi javed
 JAVA OPTIONAL CLASS EXAMPLE JAVA OPTIONAL CLASS EXAMPLE java optional class example 

Príklad voliteľných metód 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 } } 

Výkon:

 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