[윤성우 열혈자바] 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 클래스보다 그 기능이 제한적이다!
오토박싱, 언방식 방지하기 위한 것!!