logo

Java valinnainen luokka

Java esitteli uuden luokan Valinnainen jdk8:ssa. Se on julkinen loppuluokka ja sitä käytettiin käsittelemään NullPointerExceptionia Java-sovelluksessa. Sinun on tuotava java.util-paketti käyttääksesi tätä luokkaa. Se tarjoaa menetelmiä, joilla tarkistetaan tietyn muuttujan arvon olemassaolo.

Java Valinnaiset luokkamenetelmät

menetelmät Kuvaus
public static Valinnainen tyhjä() Se palauttaa tyhjän valinnaisen objektin. Tälle valinnaiselle ei ole arvoa.
julkinen staattinen valinnainen (T-arvo) Se palauttaa valinnaisen arvon määritetyllä nykyisellä ei-nolla-arvolla.
julkinen staattinen Valinnainen ofNullable(T-arvo) Se palauttaa valinnaisen, joka kuvaa määritetyn arvon, jos se ei ole nolla, muussa tapauksessa palauttaa tyhjän valinnaisen.
julkinen T get() Jos arvo on tässä valinnaisessa, palauttaa arvon, muussa tapauksessa lähettää NoSuchElementExceptionin.
julkinen boolean isPresent() Se palauttaa tosi, jos arvo on läsnä, muussa tapauksessa false.
julkinen mitätöinti josPresent (kuluttajakuluttaja) Jos arvo on olemassa, kutsu määritetty kuluttaja arvon kanssa, muuten älä tee mitään.
julkinen Valinnainen suodatin (predikaattipredikaatti) Jos arvo on olemassa ja arvo vastaa annettua predikaattia, palauta arvoa kuvaava Valinnainen, muussa tapauksessa palauta tyhjä Valinnainen.
julkinen Valinnainen kartta (toimintokartoittaja) Jos arvo on olemassa, käytä siihen annettua kartoitusfunktiota, ja jos tulos ei ole nolla, palauta tulosta kuvaava Valinnainen. Muussa tapauksessa palauta tyhjä Valinnainen.
julkinen Valinnainen flatMap (toiminto Jos arvo on olemassa, käytä siihen toimitettua Optional-bearing -kuvausfunktiota, palauta tulos, muussa tapauksessa palauta tyhjä Valinnainen.
julkinen T orElse (T muu) Se palauttaa arvon, jos se on olemassa, muussa tapauksessa palauttaa muun.
julkinen T orElseGet (toimittaja muu) Se palauttaa arvon, jos se on olemassa, muussa tapauksessa kutsu muuta ja palauttaa kutsun tuloksen.
public T orElseThrow(Toimittajan poikkeusToimittaja) heittää X laajenee Heitettävä Se palauttaa sisällytetyn arvon, jos se on olemassa, muuten heittää poikkeuksen, jonka toimitettu toimittaja luo.
julkinen looginen yhtälö (Objektiobjekti) Ilmaisee, onko jokin muu objekti 'sama' tämän valinnaisen kanssa vai ei. Toinen kohde katsotaan samanarvoiseksi, jos:
  • Se on myös valinnainen ja;
  • Molemmilla esiintymillä ei ole arvoa läsnä tai;
  • nykyiset arvot ovat 'saa' toistensa kanssa equals().
julkinen int hashCode() Se palauttaa nykyisen arvon hash-koodin arvon, jos sellainen on, tai palauttaa 0 (nolla), jos arvoa ei ole.
julkinen merkkijono toString() Se palauttaa ei-tyhjän merkkijonoesityksen tästä valinnaisesta, joka sopii virheenkorjaukseen. Tarkkaa esitysmuotoa ei ole määritelty ja se voi vaihdella toteutusten ja versioiden välillä.

Esimerkki: Java-ohjelma ilman valinnaista

Seuraavassa esimerkissä emme käytä Optional-luokkaa. Tämä ohjelma päättyy epänormaalisti ja antaa nullPointerExceptionin.

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

Lähtö:

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

Epänormaalin lopettamisen välttämiseksi käytämme Optional-luokkaa. Seuraavassa esimerkissä käytämme valinnaista. Joten ohjelmamme voi toimia ilman kaatumista.


Java Valinnainen Esimerkki: Jos arvoa ei ole läsnä

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

Lähtö:

 string value is not present 

Java Valinnainen Esimerkki: Jos arvo on läsnä

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

Lähtö:

 java optional class example 

Toinen valinnainen Java-esimerkki

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

Lähtö:

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

Esimerkki Java valinnaisista menetelmistä

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

Lähtö:

 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