반응형
Optional<T> 클래스는 Integer나 Double 클래스처럼 'T'타입의 객체를 포장해 주는 래퍼 클래스(Wrapper class)입니다.
따라서 Optional 인스턴스는 모든 타입의 참조 변수를 저장할 수 있습니다.
Optional 객체를 사용하면 예상치 못한 NullPointerException 예외를 제공되는 메소드로 간단히 회피할 수 있습니다.
즉, 복잡한 조건문 없이도 널(null) 값으로 인해 발생하는 예외를 처리할 수 있게 됩니다.
Optional 객체의 생성
of() 메소드나 ofNullable() 메소드를 사용하여 Optional 객체를 생성할 수 있습니다.
public class OptionalApplication {
public static void main(String[] args) {
// TODO : Optional 객체
// 사용법 : Optional.of(값) : Optional 객체에 들어감
// String str = "abcde";
Optional<String> optional = Optional.of("abcde");
// TODO : 가져오기(꺼내기) : 옵셔널객체변수.get()
System.out.println(optional.get()); // abcde 출력
// TODO : 정수 넣기
Optional<Integer> optional2 = Optional.of(0);
// TODO : 빈것 넣기
Optional<Object> optional3 = Optional.empty(); // 빈 것
// TODO : 현재 옵셔널 객체에 값이 있는지 확인 : isPresent() : 있으면 true / 없으면 false
System.out.println(optional2.isPresent()); // true
System.out.println(optional3.isPresent()); // false
// TODO : 빈 것 또는 null 일 경우 아래와 같이 코딩
// 옵셔널객체변수.orElse("대체할 문자열");
System.out.println(optional3.orElse("없음")); // null 일 경우 없음으로 출력
}
}
반응형
'Java > Java 이론' 카테고리의 다른 글
Arrays 클래스 (0) | 2023.09.27 |
---|---|
Stream 클래스 (0) | 2023.09.27 |
제네릭 (0) | 2023.09.27 |
날짜 함수 (0) | 2023.09.26 |
JAVA API 함수 (0) | 2023.09.26 |