값의 존재 여부를 명시적으로 나타내기 위해 사용됩니다.
1. 주요 기능
- 값이 존재할 수도 있고, 존재하지 않을 수도 있음:
- Optional은 값이 존재할 때와 존재하지 않을 때를 구분하여 처리할 수 있도록 도와줍니다.
- 명시적 검사를 통한 NullPointerException 방지:
- Optional을 사용하면 null 체크를 명시적으로 수행하여 NullPointerException을 방지할 수 있습니다.
2. 예제
String data1 = null;
Optional<String> op1 = Optional.ofNullable(data1);
- Optional.ofNullable()
- data1이 null일 경우 빈 Optional 객체를 반환합니다.
- data1이 null이 아니면 해당 값을 가진 Optional 객체를 반환합니다.
String data2 = null;
String r2 = Optional.ofNullable(data2).orElseGet(() -> "없어");
System.out.println("r2 : " + r2);
- Optional.ofNullable(data2).orElseGet(() -> "없어");
- data2가 null이면 "없어"를 반환합니다.
// 예외처리에 많이 사용됩니다.
String data3 = null; // 값이 있으면 그 값을 리턴
String r3 = Optional.ofNullable(data3)
.orElseThrow(() -> new RuntimeException("값이 없습니다."));
System.out.println("r3 : " + r3);
- Optional.ofNullable(data3) .orElseThrow(() -> new RuntimeException("값이 없습니다."));
- data3에 값이 없을 경우 RuntimeException 예외를 발생시킵니다.
Share article