Java jdk8 ieviesa jaunu klasi Neobligāti. Tā ir publiska gala klase, un to izmanto, lai Java lietojumprogrammā risinātu ar NullPointerException. Lai izmantotu šo klasi, jums ir jāimportē java.util pakotne. Tas nodrošina metodes, kas tiek izmantotas, lai pārbaudītu vērtību esamību konkrētam mainīgajam.
Java izvēles klases metodes
Metodes | Apraksts |
---|---|
publisks statisks Neobligāts tukšs() | Tas atgriež tukšu Optional objektu. Šai opcijai nav norādīta neviena vērtība. |
publiska statiska Neobligāts no (T vērtība) | Tas atgriež neobligātu ar norādīto pašreizējo vērtību, kas nav nulle. |
publiska statiska Neobligāts noNullable (T vērtība) | Tas atgriež Neobligāti, aprakstot norādīto vērtību, ja tā nav nulle, pretējā gadījumā atgriež tukšu Neobligāti. |
publisks T get() | Ja vērtība ir ietverta šajā opcijā, atgriež vērtību, pretējā gadījumā izdod NoSuchElementException. |
publiskais Būla vērtība ir Present() | Tas atgriež patieso vērtību, ja ir vērtība, pretējā gadījumā atgriež false. |
publisks spēkā neesamība ifPresent (patērētājs) | Ja vērtība ir klāt, izsauciet norādīto patērētāju ar vērtību, pretējā gadījumā nedariet neko. |
publisks Izvēles filtrs (predikāta predikāts) | Ja vērtība ir klāt un tā atbilst norādītajam predikātam, atgrieziet Neobligāti, kas apraksta vērtību, pretējā gadījumā atgrieziet tukšu Neobligāti. |
publiska Izvēles karte (funkciju kartētājs) | Ja vērtība ir klāt, lietojiet tai sniegto kartēšanas funkciju un, ja rezultāts nav nulle, atgrieziet neobligāti, aprakstot rezultātu. Pretējā gadījumā atgrieziet tukšu Neobligāti. |
publiska Izvēles flatMap (Funkcija super T,Optional mapper) | Ja vērtība ir klāt, lietojiet tai piedāvāto neobligāto gultņu kartēšanas funkciju, atgrieziet šo rezultātu, pretējā gadījumā atgrieziet tukšu Neobligāti. |
publisks T vaiElse (T cits) | Tas atgriež vērtību, ja tāda ir, pretējā gadījumā atgriež citu. |
publiskais T orElseGet (cits piegādātājs) | Tas atgriež vērtību, ja tāda ir, pretējā gadījumā izsauc citu un atgriež šīs izsaukšanas rezultātu. |
publisks T orElseThrow(Piegādātāja izņēmumsPiegādātājs) met X paplašina Metams | Tas atgriež ietverto vērtību, ja tāda ir, pretējā gadījumā izmetiet izņēmumu, kas jāizveido nodrošinātajam piegādātājam. |
publiskais Būla vienāds (Objekta objekts) | Norāda, vai kāds cits objekts ir “vienāds” ar šo neobligāto. Otrs objekts tiek uzskatīts par vienādu, ja:
|
publisks int hashCode() | Tas atgriež pašreizējās vērtības jaucējkoda vērtību, ja tāda ir, vai atgriež 0 (nulle), ja vērtības nav. |
publiska virkne toString() | Tas atgriež netukšu šīs izvēles virknes attēlojumu, kas ir piemērots atkļūdošanai. Precīzs prezentācijas formāts nav norādīts un var atšķirties atkarībā no ieviešanas un versijas. |
Piemērs: Java programma, neizmantojot opciju
Nākamajā piemērā mēs neizmantojam neobligāto klasi. Šī programma tiek pārtraukta neparasti un rada nullPointerException.
public class OptionalExample { public static void main(String[] args) { String[] str = new String[10]; String lowercaseString = str[5].toLowerCase(); System.out.print(lowercaseString); } }
Izvade:
Exception in thread 'main' java.lang.NullPointerException at lambdaExample.OptionalExample.main(OptionalExample.java:6)
Lai izvairītos no neparastas izbeigšanas, mēs izmantojam Optional klasi. Nākamajā piemērā mēs izmantojam opciju Optional. Tātad mūsu programma var darboties bez avārijām.
Java izvēles piemērs: ja vērtība nav klāt
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'); } }
Izvade:
string value is not present
Java izvēles piemērs: ja vērtība ir klāt
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'); } }
Izvade:
java optional class example
Vēl viens Java izvēles piemērs
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()); } }
Izvade:
JAVA OPTIONAL CLASS EXAMPLE JAVA OPTIONAL CLASS EXAMPLE java optional class example
Java izvēles metožu piemērs
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 } }
Izvade:
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