DevBoi

Optional 변수 예제 및 사용방법 본문

Language/[Java]

Optional 변수 예제 및 사용방법

HiSmith 2021. 7. 7. 00:29
반응형

Stream 공부하면서 많이 나오는 Optional변수 관련 내용을 공부해보자

 

1. Optional이란?

존재할수도있고 안할수도있고, 즉 nullable한 변수이다.

null이 될수도있는 하나의 래퍼 클래스이다.

 

 

2. 장점

1. 우선, NPE 유발할수있는 null을 직접 다루지않아도 된다.

2. null Exception 체크를 하지않아도 된다. 방어로직이 준다.

 

 

 

 

3.사용

이런식으로 .empty()로, 싱글톤으로 이미 생성된 변수이름으로 call할수 있고,

Optional.of 로 객체를 넣어서 생성할수도있다. 방법은 다양하지만, Option.of사용시 NPE조심

 

 

2. Optional.ofNullable() 로 Optional 변수 생성

이것은 nullable에 대한 처리를 해주는 메소드 이며, 아까 Optional.of 와 Option.empty() 이 두개를 합친거로 생각하면된다.

Order class를 간단하게 생성해서, test,test2 에 넣어서 print 해보면, test에는 객체가 담기지만,

test2sms null 이기때문에 empty 가 출력이 된다.

 

 

 

자 그러면 Optional을 어떻게 써야 좀더 효율적일까?

일단 ifPresent를 사용해보자. 이걸 사용하면, null에 따른 조건 분기가 한줄에 바로 된다.

 

 

 

 

또한 orElseGet을 하게 되면, 해당 변수가 null이면 g2라는 기본값을 설정할 수도 있다.

 

 

Stream과 유사하다고 했었는데, Stream에서 자주쓰는 map, filter 도 사용가능하다.

 

1) filter 사용

 

2. map 사용

 

위의 두가지를 잘활용하면, filter이후, map으로 원하는 요소를 get할수있다.

null처리는 알아서 되니까  null 비교, ispresent 는 쓸필요없다.

반응형

'Language > [Java]' 카테고리의 다른 글

JAVA stream 사용 예제_1  (0) 2021.09.02
Java Garbage Collection 이란?  (0) 2021.07.21
Stream 객체 사용 방법 및 예제  (0) 2021.07.05
제네릭 사용법 예제 쉽게 정리  (0) 2021.06.27
자바 -제네릭이란?  (0) 2021.06.23