반응형

Java Optional

 

Optional은 객체가 null값을 가질 때 불편함을 덜고자 Java 8에서 처음 도입되었습니다. Java에서는 null 값을 직접 다루는 것을 권장하지 않고 있는데, 직접 다루다 보면 NullPointerException이 발생하는 것을 자주 겪습니다.

 

null값을 가지는 객체는 null값 체크를 위한 코드가 필요하여 코드가 길어지고 여러 객체에서 이를 반복하면 코드가 장황해질 수밖에 없습니다. 이러한 불편함을 덜어주는 클래스가 null값을 감쌀 수 있는 Wrapper 클래스인 Optional입니다.

 

 

Optional 객체 생성

 

빈 객체 생성은 .empty() 메소드를 사용합니다.

 

Optional<String> empty = Optional.empty();

 

.of() 메소드를 사용하여 객체를 생성할 수 있습니다. 하지만 .of() 메소드에 전달된 인자는 null이 들어갈 수 없습니다. null이 들어갈 경우 NullPointerException이 발생합니다.

 

String name = "Rooney";

Optional<String> optName = Optional.of(name);

 

null이 들어갈 수도 있는 경우 ofNullable() 메소드를 사용할 수 있습니다. 이 메소드를 사용하면 인자값이 null이어도 예외가 발생하지 않고 빈 Optional 객체가 반환됩니다.

 

String name = "Rooney";

Optional<String> optName = Optional.ofNullable(name);
반응형

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

[Java] StringUtills.equals(), equals() 차이  (0) 2021.10.01
[Java] .length, .length(), .size()  (0) 2021.07.08
[Java] 증감 연산자 기초  (0) 2021.07.06
[Java] 연산자의 종류  (0) 2020.12.30
[Java] String 배열  (0) 2020.12.25

+ Recent posts