OOP/Java

Optional이란?

defxyj 2023. 11. 24. 06:16

Optional

자바 8에서는 Optional<T> 클래스를 사용해 NPE를 방지

null 있는 값을 감싸는 Wrapper 클래스

 

Optional 클래스 내부

[Optional 생성 empty()]

Optional 클래스는 Wrapper 클래스이므로 값이 없을 수 도 있는데 이때 empty()로 생성

Optional<T> optional = Optinal.empty();

 

[ isPresent() ]

isPresent()를 사용하여 현재 값이 존재하는지 확인

리턴 타입은 boolean

 

[ of ] 

만약 어떤 데이터가 절대 null 이 아니라면 of로 생성

 

[ ofNullable ] 

값이 null일수도 아닐수도 있는 경우에는 ofNullable로 생성

생성 이후 orElse, orElseGet메소드를 이용해서 값이 없는 경우 안전하게 값을 지정.

 

[ orElse, orElseGet ]

파라미터로 값을 받음

파라미터로 함수형 인터페이스(함수)를 받음

 

참고

https://mangkyu.tistory.com/70#recentComments
https://mangkyu.tistory.com/203

 

[Java] Optional이란? Optional 개념 및 사용법 - (1/2)

이번에는 Java8부터 지원하는 Optional 클래스에 대해 알아보도록 하겠습니다. 1. Optional이란? Optional 개념 및 사용법 [ NPE(NullPointerException) 이란? ] 개발을 할 때 가장 많이 발생하는 예외 중 하나가 바

mangkyu.tistory.com