Digking's cave

Java 기초 ) Optional 이란 본문

기초/Java

Java 기초 ) Optional 이란

디깅 2023. 5. 16. 09:53
728x90

Optional<T>

java에서 NullPointerExcepion을 방지하는 wrapper class이다.

 

Optional class가 가진 메소드 예시

Optional 생성하는 방법

Optional.empty() : null값으로 생성

Optional<String> exampleText = Optional.empty();

optional은 static으로 empty객체를 미리 생성해서 가지고 있다.

따라서 빈 객체를 여러 번 생성할 때도 이 empty객체를 공유함으로 메모리를 절약해서 사용할 수 있다.

 

Optional.of() : null이 아닌 값으로 생성

Optional<String> exampleText = Optional.of("example");

Optional.of()로 Null을 저장하려고하면 NullPointerException이 발생한다.

 

Optional.ofNullable() : 값이 null일 수도, 아닐 수도 있는 경우의 생성

Optional<String> exampleText = Optional.ofNullable(getName());
String name = optional.orElse("everyone")

orElse 혹은 orElseGet으로 값을 가져올 수 있다.

이 때 null일경우 optional이 안전하게 처리해준다.

 

.orElseThrow() : 바로 예외처리

if else문 대신 orElseThrow를 통해 코드의 가독성을 높이고, 간단하게 처리할 수 있다.

return exampleRepository.findById(exampleId)
						.orElseThrow(() -> new noExampleException());

 

 

참고 : https://mangkyu.tistory.com/70

반응형

'기초 > Java' 카테고리의 다른 글

Java 기초 ) extends , implements 차이점  (0) 2022.12.06