null 처리에 특화된 Optional 객체를 정리해본다.
Optional을 사용하여 null 값을 처리할 수 있다.
Optional은 null이 될 수 있는 값을 감싸고 있는 컨테이너이다.
Optional을 사용하여 NullPointerException을 방지하고, 코드의 안정성을 높이기 위해 사용된다.
// Optional 예제 코드
package opt;
import java.util.Optional;
public class OptionalExam {
public static Optional<String> getString() {
String value = "Hello";
// value = null; // Uncomment this line to test with a null value
return Optional.ofNullable(value);
}
public static void main(String[] args) {
Optional<String> optionalString = getString();
// 값이 존재하는 경우
if (optionalString.isPresent()) {
String str = optionalString.get();
System.out.println("Value: " + str); // Output: Value: Hello
}
// 값이 존재하지 않는 경우
Optional<String> emptyOptional = Optional.empty();
String result = emptyOptional.orElse("Default Value");
System.out.println("Result: " + result); // Output: Result: Default Value
}
}
// 결과
// Hello
// Default Value
value = null; 부분 주석을 해제하면 Default Value만 출력된다.
isPresent()
메서드를 사용하여 값의 존재 여부를 확인한다.
orElse()
를 사용하여 null 오류를 방지하고, 다른 로직으로 대체할 수 있다.
위에서는 null 값일 시에 "Default Value"를 출력해주도록 설정했다.