본문 바로가기

# 02/Java

[윤성우 열혈자바] 28-3. OptionalInt, OptionalLong, OptionalDouble 클래스

반응형

Optional OptionalXXX와의 차이점


public static void main(String[] args) {

   Optional<Integer> oi1 = Optional.of(3);

   Optional<Integer> oi2 = Optional.empty();

 

   System.out.print("[Step 1.] : ");

   oi1.ifPresent(i -> System.out.print(i + "\t"));

   oi2.ifPresent(i -> System.out.print(i));

   System.out.println();

 

   System.out.print("[Step 2.] : ");

   System.out.print(oi1.orElse(100) + "\t");

   System.out.print(oi2.orElse(100) + "\t");

   System.out.println();

}


public static void main(String[] args) {

   OptionalInt oi1 = OptionalInt.of(3);

   OptionalInt oi2 = OptionalInt.empty();

 

   System.out.print("[Step 1.] : ");

   oi1.ifPresent(i -> System.out.print(i + "\t"));

   oi2.ifPresent(i -> System.out.print(i));

   System.out.println();

   

   System.out.print("[Step 2.] : ");

   System.out.print(oi1.orElse(100) + "\t");

   System.out.print(oi2.orElse(100) + "\t");

   System.out.println();

}


OptionalXXX 클래스들은 Optional 클래스보다  기능이 제한적이다!


오토박싱, 언방식 방지하기 위한 것!!


반응형