logo

Јава Опциона класа

Јава је представила нову класу Опционо у јдк8. То је јавна завршна класа и користи се за рад са НуллПоинтерЕкцептион у Јава апликацији. Морате увести пакет јава.утил да бисте користили ову класу. Он пружа методе које се користе за проверу присуства вредности за одређену променљиву.

Јава опционе методе класе

Методе Опис
публиц статиц Опционо празно() Враћа празан Опциони објекат. За ову опцију нема вредности.
публиц статиц Опционо од (Т вредност) Враћа Опционо са наведеном садашњом вредношћу која није нулта.
публиц статиц Опционо одНуллабле (Т вредност) Враћа Опциони опис који описује наведену вредност, ако није нулл, у супротном враћа празно Опционо.
јавни Т гет() Ако је вредност присутна у овом Опционом, враћа вредност, у супротном избацује НоСуцхЕлементЕкцептион.
јавни логички исПресент() Враћа тачно ако постоји вредност, у супротном нетачно.
публиц воид ифПресент (потрошач потрошача) Ако је вредност присутна, позовите наведеног потрошача са вредношћу, у супротном не радите ништа.
публиц Опциони филтер (предикат предиката) Ако је вредност присутна, а вредност се поклапа са датим предикатом, вратите Опционо које описује вредност, у супротном вратите празно Опционо.
јавна Опциона мапа (мапер функција) Ако је вредност присутна, примените обезбеђену функцију мапирања на њу, а ако резултат није нул, вратите Опциони који описује резултат. У супротном вратите празно Опционо.
публиц Опциони флатМап(Фунцтион Ако је вредност присутна, примените дату функцију мапирања са опционим носиоцима на њу, вратите тај резултат, у супротном вратите празно Опционо.
јавно Т орЕлсе(Т друго) Враћа вредност ако је присутна, у супротном враћа отхер.
јавни Т орЕлсеГет (Друго добављач) Враћа вредност ако је присутна, у супротном позовите отхер и вратите резултат тог позива.
публиц Т орЕлсеТхров(Супплиер екцептионСупплиер) баца Кс ектендс Тхровабле Враћа садржану вредност, ако је присутна, у супротном ствара изузетак који ће креирати обезбеђени добављач.
јавни логички једнак (Објецт обј) Означава да ли је неки други објекат 'једнак' овом Опционом или не. Други објекат се сматра једнаким ако:
  • Такође је Опциони и;
  • Обе инстанце немају вредност присутне или;
  • садашње вредности су 'једнаке' једна другој преко екуалс().
јавни инт хасхЦоде() Враћа вредност хеш кода садашње вредности, ако постоји, или враћа 0 (нула) ако вредност није присутна.
јавни стринг тоСтринг() Враћа непразан стринг приказ овог Опционог који је погодан за отклањање грешака. Тачан формат презентације није специфициран и може се разликовати између имплементација и верзија.

Пример: Јава програм без коришћења Опционог

У следећем примеру, не користимо Опциону класу. Овај програм се ненормално завршава и баца нуллПоинтерЕкцептион.

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

Излаз:

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

Да бисмо избегли абнормални завршетак, користимо Опциону класу. У следећем примеру користимо Опционо. Дакле, наш програм може да се изврши без пада.


Јава Опциони пример: Ако вредност није присутна

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

Излаз:

 string value is not present 

Јава опциони пример: Ако је вредност присутна

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

Излаз:

 java optional class example 

Још један Јава опциони пример

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

Излаз:

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

Пример Јава опционих метода

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

Излаз:

 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