java.util.Optional<T> 클래스
Optional은 T타입의 객체를 감싸는 래퍼 클래스다.
Optional 인스턴스는 모든 타입의 참조 변수를 저장할 수 있다.
복잡한 조건문 없이도 널(null) 값으로 인해 발생하는 예외를 처리할 수 있다.
💗 Optional 객체 생성
1.
String str="abc";
Optional<String> optVal=Optional.of(str);
2.
Optional<String> optVal=Optional.ofNullable(null);
참조변수의 값이 null일 가능성이 있으면 ofNullable을 사용해야함.
3.
Optional<String> optVal=Optional.<String>empty();
Optional<T>타입의 참조변수를 기본값으로 초기화할 때는 empty() 사용
Optional<String> optVal=null;보다 바람직함
🤎 Optional 객체의 값 가져오기
Optional<String> optVal=Optional.of("abc");
String str1=optVal.get(); // optVal에 저장된 값을 반환. null이면 예외발생
String str2=optVal.orElse(""); // optVal에 저장된 값이 null일 때는, "" 반환
get()을 사용해서 Optional 객체의 값을 가져온다.값이 null일 때를 대비하여 orElse()로 대체할 값을 지정할 수 있다.
🤎 Optional 객체 예외처리
<X extends Throwable> T orElseThrow(Supplier<? extends X> exceptionSupplier)
지정된 값이 존재하지 않으면 전달된 예외 발생
참고 : http://tcpschool.com/java/java_stream_optional
, 자바의 정석 3판
반응형
'JAVA' 카테고리의 다른 글
ArrayList (0) | 2021.06.24 |
---|---|
Queue (0) | 2021.06.24 |
Constructor(생성자) (0) | 2021.04.05 |
java.util 패키지 (0) | 2021.03.06 |
생성자(Constructor) (0) | 2020.12.06 |