Back-end/Java Language

Java Optional, Stream

prden 2023. 1. 29. 11:17

1. Optional 

Optional은 null 또는 값을 감싸서 NPE(NullPointerException)로부터 부담을 줄이기 위해 등장한 Wrapper 클래스이다.

Optional은 값을 Wrapping하고 다시 풀고, null 일 경우에는 대체하는 함수를 호출하는 등의 오버헤드가 있으므로 잘못 사용하면 시스템 성능이 저하된다. 그렇기 때문에 메소드의 반환 값이 절대 null이 아니라면 Optional을 사용하지 않는 것이 좋다. 즉, Optional은 메소드의 결과가 null이 될 수 있으며, null에 의해 오류가 발생할 가능성이 매우 높을 때 반환값으로만 사용되어야 한다. 

2.Optional 메소드

1) Optional.emptuy() : 값이 Null인 경우

2) Optional.of() : 값이 Null이 아닌 경우

3) Optional.ofNullable() : 값이 Null일 수도, 아닐 수도

 

사용법

https://mangkyu.tistory.com/70

 

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

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

mangkyu.tistory.com

 

https://madplay.github.io/post/how-to-handle-optional-in-java

 

자바 Optional: 3. Optional 중간 처리 메서드

옵서녈(Optional) 객체의 값을 필터링하거나 다른 형태로 변환시키는 방법

madplay.github.io

3. Stream