개발할때 가장 많이 발생하는 예외 중 하나가 NullPointerException(NPE)이다.
이를 피하려면 NULL 여부 검사를 필수적으로 해야하는데 만약 NULL 검사를 해야하는 변수가 많은 경우 가독성이 떨어진다. 하지만 Java8에서 부터 Optional<T>를 제공하여 NPE를 방지할수 있도록 도와주고 Optional 클래스의 메소드를 통해 NULL을 컨트롤 할 수 있다.
import java.util.Optional;
public class Main {
public static void main(String[] args) {
// 예시로 사용할 객체
String nullableString = null;
// 기존의 null 체크 방식
if (nullableString != null) {
System.out.println("Length: " + nullableString.length());
} else {
System.out.println("Nullable string is null.");
}
// Optional을 사용한 null 체크
Optional<String> optionalString = Optional.ofNullable(nullableString);
if (optionalString.isPresent()) {
System.out.println("Length: " + optionalString.get().length());
} else {
System.out.println("Nullable string is null.");
}
// 람다식과 Optional을 이용한 null 체크와 처리
optionalString.ifPresentOrElse(
str -> System.out.println("Length: " + str.length()),
() -> System.out.println("Nullable string is null.")
);
}
}