본문 바로가기

Java/기초

[Java] Optional

java.util.Optional<T> 클래스

Optional<T> 클래스는 Integer나 Double 클래스처럼 'T'타입의 객체를 포장해 주는 래퍼 클래스(Wrapper class)이다,

따라서 Optional 인스턴스는 모든 타입의 참조 변수를 저장할 수 있다.

 

이러한 Optional 객체를 사용하면 예상치 못한 NullPointerException 예외를 제공되는 메소드로 간단히 회피할 수 있다.

즉, 복잡한 조건문 없이도 널(null) 값으로 인해 발생하는 예외를 처리할 수 있다.

Optional 객체의 생성

of() 메소드나 ofNullable() 메소드를 사용하여 Optional 객체를 생성할 수 있다.

of() 메소드는 null이 아닌 명시된 값을 가지는 Optional 객체를 반환한다.

만약 of() 메소드를 통해 생성된 Optional 객체에 null이 저장되면 NullPointerException 예외가 발생한다.

 

따라서 만약 참조 변수의 값이 만에 하나 null이 될 가능성이 있다면, ofNullable() 메소드를 사용하여 Optional 객체를 생성하는 것이 좋다.

ofNullable() 메소드는 명시된 값이 null이 아니면 명시된 값을 가지는 Optional 객체를 반환하며, 명시된 값이 null이면 비어있는 Optional 객체를 반환한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

'Java > 기초' 카테고리의 다른 글

[Java] 익명클래스(Anonymous Classes)  (0) 2021.09.05
[Java] LocalDateTime  (0) 2021.08.30
[Java] 입력 뜯어보기(Scanner, InputStream, BufferdReader)  (0) 2021.08.14
[Java] 스트림(Stream)  (0) 2021.08.10
[Java] 람다식(Lambda expression)  (0) 2021.08.10