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 클래스보다 그 기능이 제한적이다!
오토박싱, 언방식 방지하기 위한 것!!
'# 02 > Java' 카테고리의 다른 글
[윤성우 열혈자바] 29-2. 필터링과 맵핑 (0) | 2019.10.28 |
---|---|
[윤성우 열혈자바] 29-1. 스트림의 이해와 스트림의 생성 (0) | 2019.10.28 |
[윤성우 열혈자바] 28-2. Optional 클래스 (0) | 2019.10.28 |
[윤성우 열혈자바] 28-1. 메소드 참조 (0) | 2019.10.28 |
[윤성우 열혈자바] 27-2. 정의되어 있는 함수형 인터페이스 (0) | 2019.10.25 |