Back-End/Java
[Java] Optional 클래스 개념
미피뿌
2022. 2. 28. 10:09
반응형
Optional 클래스 개념
개념
import java.util.Optional;
Optional<T> 클래스는 Java8 버전 이후로 사용하는 클래스로 Integer나 Double 클래스처럼 'T' 타입의 객체를 포장해주는 래퍼 클래스이다. 따라서 Optional 인스턴스는 모든 타입의 참조 변수를 저장할 수 있다.
Optional 객체를 사용하면 예상치 못한 NullPointerException 예외로 제공되는 메소드로 간단히 회피할 수 있다. 다시 말해서 복잡한 조건문 없이도 널(null) 값으로 인해 발생하는 예외를 처리할 수 있게 되는 것이다.
문법
Optional<String> optional = Optional.empty();
System.out.println(optional); // Optional.empty
System.out.println(optional.isPresent()); // false
값이 Null이 아닌 경우 - Optional.of()
Optional<String> optional = Optional.of("name");
값이 Null일수도, 아닐수도 있는 경우 - Optional.ofNullable()
Optional<String> optional = Optional.ofNullable(getName());
String name = optional.orElse("anonymous"); // 값이 없는경우 anonymous 를 리턴
참고
반응형