JAVA

Optional

잔망루피 2021. 5. 18. 20:47

java.util.Optional<T> 클래스

 

Optional은 T타입의 객체를 감싸는 래퍼 클래스다.

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

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

 

 

💗 Optional 객체 생성

1.

String str="abc";
Optional<String> optVal=Optional.of(str);

 

2.

Optional<String> optVal=Optional.ofNullable(null);

참조변수의 값이 null일 가능성이 있으면 ofNullable을 사용해야함.

 

3.

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

Optional<T>타입의 참조변수를 기본값으로 초기화할 때는 empty() 사용

Optional<String> optVal=null;보다 바람직함


 

🤎 Optional 객체의 값 가져오기

Optional<String> optVal=Optional.of("abc");
String str1=optVal.get();		// optVal에 저장된 값을 반환. null이면 예외발생
String str2=optVal.orElse("");	// optVal에 저장된 값이 null일 때는, "" 반환

get()을 사용해서 Optional 객체의 값을 가져온다.값이 null일 때를 대비하여 orElse()로 대체할 값을 지정할 수 있다.

 


🤎 Optional 객체 예외처리

<X extends Throwable> T orElseThrow(Supplier<? extends X> exceptionSupplier)

지정된 값이 존재하지 않으면 전달된 예외 발생

 

 

 

참고 : http://tcpschool.com/java/java_stream_optional

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

, 자바의 정석 3판

반응형

'JAVA' 카테고리의 다른 글

ArrayList  (0) 2021.06.24
Queue  (0) 2021.06.24
Constructor(생성자)  (0) 2021.04.05
java.util 패키지  (0) 2021.03.06
생성자(Constructor)  (0) 2020.12.06