본문 바로가기

Development Experience/Web

JAVA Optional of() vs ofNullable()

JAVA에서 Null을 처리하기 위한 방법으로 Optional을 사용한다.

Null 대신 Optional 이라는 객체를 반환함으로써 NullPointerException 이 발생하는 걸 방지하기 위해서이다.

 

회사에서 개발을 하면서 Optional.of() 함수를 썼는데 NullPointerException이 발생했다.

코드를 보니 아래와 같은 느낌으로 작성되어 있어서 of()의 전달인자로 null이 전달된 것이었다.

Object myName = null;
Optional.of((String)myName);

 

Optional.of()를 호출하려면 null이 아닌 값만 전달되어야 한다.

만일 null이 "될수도" 있는 값이 전달된다면 Optional.ofNullable()을 호출해야 한다.

Object myName = null;
Optional.ofNullable((String)myName);

 

반응형