[Opatoinal<T>]
T타입 객체의 래퍼클래스 Opatoinal<T> 어떤 타입이던 지정 가능(모든 종류의 객체, null 저장 가능)
1) null을 직접 다루는 것은 위험해서 null을 간접적으로 다루기(NullPointException).
2) nulll 체크 (if문 필수 )
null을 Optional객체에 넣어서 담긴 값이 null인 거지 주소는 존재.
□ □ 0x100
result 0x100 → null
null을 직접 다루는게 아닌 optional객체 안에 넣으면 결과가 널이더라도 result의 결과는 항상 null이 아님(주소 존재).
∴ NullPointException가 발생하지 않고 코드가 간결해짐
[Optional객체 생성]
String str = "abc";
Optional<String> opt = Optionale.of(str);
Optional<String> opt = Optionale.of(str);
str 0x100 → "abc" (0x100)
opt 0x200 → Optional 객체 : 0x100 → "abc"
null초기화는
Optional<String> opt = null이 아니라 Optional.<String> empty();로 빈객체 초기화.
[Optional객체 값 가져오기]
opt.get() - null이면 예외발생
opt.orElse() - null일때 빈문자 ""반환
opt.orElseGet() - 라다식 사용가능
opt.orElseThrow() - 널이면 예외발생
isPresent() - Optionale객체의 값이 null이면 false
str = opt.orElse("");
'All About Develop > 공부하자' 카테고리의 다른 글
맥1 Git 설치 (0) | 2023.03.10 |
---|---|
자바8 (0) | 2022.10.26 |
Web Server/WAS/jetty/Tomcat (0) | 2022.08.26 |
스프링 버전 정리 (0) | 2022.08.04 |
자바 버전 정리 (0) | 2022.08.04 |