본문 바로가기
java

java optional stream()

by socialcomputer 2022. 2. 3.
반응형

Optional은 java8부터 생겨났다. 

탄생배경은 null값을 반환할때의 위험성을 없애기 위함이다. 

메서드가 반환할 결과값이 ‘없음’을 명백하게 표현할 필요가 있고, null을 반환하면 에러를 유발할 가능성이 높은 상황에서 메서드의 반환 타입으로 Optional을 사용하자는 것이 Optional을 만든 주된 목적이다. Optional 타입의 변수의 값은 절대 null이어서는 안 되며, 항상 Optional 인스턴스를 가리켜야 한다.

옵셔널 사용법을 공부해볼만한 링크들

java8, 9, 10까지의 Optional  https://jdm.kr/blog/234

 

옵셔널 올바르게 쓰기:  https://homoefficio.github.io/2019/10/03/Java-Optional-%EB%B0%94%EB%A5%B4%EA%B2%8C-%EC%93%B0%EA%B8%B0/

옵셔널+stream:  https://blog.naver.com/adamdoha/222280227725

(optional에 stream메서드가 java9부터 추가되었다고 한다.)

옵셔녈 제대로 활용하기:  https://www.latera.kr/blog/2019-07-02-effective-optional/#4-%EA%B0%92%EC%9D%B4-%EC%97%86%EB%8A%94-%EA%B2%BD%EC%9A%B0-optional-orelseget-%EC%9D%84-%ED%86%B5%ED%95%B4-%EC%9D%B4%EB%A5%BC-%EB%82%98%ED%83%80%EB%82%B4%EB%8A%94-%EA%B0%9D%EC%B2%B4%EB%A5%BC-%EC%A0%9C%EA%B3%B5%ED%95%A0-%EA%B2%83

 

위 링크들에 잘 정리가 되어있어 보고 공부를 했다. 

 

optional의 특징을 간단하게만 정리했다.

1. Optional객체가 생성만 되고 값이 없으면 그것은 optional.empty() 이다. 
2. Optional은 값이 변경될때마다 새로 감싸지기 때문에 비용이 비쌈으로, 값만 비교할시엔 null을 사용하자

 

반응형

댓글