Notice
Recent Posts
Recent Comments
Link
개발 무지렁이
[Java] 값의 존재여부를 나타내는 컨테이너 클래스, Optional 본문
𐁍 Optional
값의 존재 여부를 나타내는 컨테이너 클래스를 말한다.
null로 인한 예외(ex. NPE)를 방지하고자 Optional로 감싸
이 객체의 내장메서드를 사용하여 다양한 동작을 할 수 있다.
null로 인한 예외(ex. NPE)를 방지하고자 Optional로 감싸
이 객체의 내장메서드를 사용하여 다양한 동작을 할 수 있다.
𖠃 Optinal 내장 메서드
(1) Optional.of(T value)
: value가 null이 아니라면 해당 값으로 채워진 Optional 객체를 반환하지만,
null이라면 NPE(NullPointerException) 발생
(2) Optional.ofNullable(T value)
: value가 null이 아니라면 해당 값으로 채워진 Optional 객체를 반환하고,
null이여도 빈 Optional 객체를 반환한다. (null이어도 감쌀 수 있다.)
⚠️ null이 될 가능성이 있는 경우 Optional.ofNullable() 사용
(3) Optional.empty()
: 항상 빈 Optional 객체를 반환
(값이 없음을 표현)
(4) .isPresent()
: null인지 아닌지 여부를 반환
(5) .get() / .orElse() / .orElseThrow()
.get(): 값이 존재하면 해당 값으로 채워진 Optional 객체 반환, null이면 NoSuchElementException 예외 발생
.orElse(): 값이 존재하면 해당 값으로 채워진 Optional 객체 반환, null이면 인수로 전달된 값 반환
.orElse(): 값이 존재하면 해당 값으로 채워진 Optional 객체 반환, null이면 인수로 전달된 예외 발생
: value가 null이 아니라면 해당 값으로 채워진 Optional 객체를 반환하지만,
null이라면 NPE(NullPointerException) 발생
(2) Optional.ofNullable(T value)
: value가 null이 아니라면 해당 값으로 채워진 Optional 객체를 반환하고,
null이여도 빈 Optional 객체를 반환한다. (null이어도 감쌀 수 있다.)
⚠️ null이 될 가능성이 있는 경우 Optional.ofNullable() 사용
(3) Optional.empty()
: 항상 빈 Optional 객체를 반환
(값이 없음을 표현)
(4) .isPresent()
: null인지 아닌지 여부를 반환
(5) .get() / .orElse() / .orElseThrow()
.get(): 값이 존재하면 해당 값으로 채워진 Optional 객체 반환, null이면 NoSuchElementException 예외 발생
.orElse(): 값이 존재하면 해당 값으로 채워진 Optional 객체 반환, null이면 인수로 전달된 값 반환
.orElse(): 값이 존재하면 해당 값으로 채워진 Optional 객체 반환, null이면 인수로 전달된 예외 발생
'Backend > 자바' 카테고리의 다른 글
[JAVA8] 함수라는 새로운 값의 형식과 값으로 귀결되는 메서드 참조, 그로 인한 간결성 (+ 람다) (0) | 2023.09.20 |
---|---|
[Java] 다른 객체의 인터페이스를 제공하는 프록시(Proxy) 객체 (0) | 2023.09.16 |
[Java] 스레드 개수를 제한하는 스레드풀(ThreadPool)의 생성과 작업처리 요청 (0) | 2023.08.14 |
[Java] 보조 역할을 수행하는 데몬(Daemon) 스레드 (0) | 2023.08.13 |
[Java] 스레드 정상 실행 종료, interrupt( ): 리소스 정리 후 실행 종료 (0) | 2023.08.13 |
Comments