반응형
Optional ?
- 자바8에서는 java.util.Optional<T>라는 새로운 클래스를 제공하여 값이 있거나 없음을 표현할 수 있다.
- Optional은 선택형 값을 캡슐화하는 클래스이다.
- Optional로 값이 없는 상황을 적절하게 처리하도록 강제할 수 있다. 즉, 예상치 못한 null예외를 방지할 수 있다.
- 값이 있으면 Optional클래스는 값을 감싼다. 반면 값이 없으면 Optional.empty 메서드로 Optional을 반환한다.
- Optional.empty()는 Optional의 특별한 싱글턴 인스턴스를 반환하는 정적 팩토리 메서드이다.
Optional 객체 생성 방법
1. 빈 Optional
Optional<UserDto> userDto = Optional.empty();
2. null을 포함하지 않는 Optional
Optional<UserDto> userDto = Optional.of(userDto);
이 경우에는 userDto값이 null일 경우 NullPointException이 발생한다.
3. null을 포함하는 Optional
Optional<UserDto> userDto = Optional.ofNullable(userDto);
이 경우에는 userDto가 null일 경우에도 NullPointException이 발생하지 않고, 빈 Optional객체가 반환된다.
Optional 사용 주의사항
1. Optional에 컬렉션객체를 사용하지 않는다.
컬렉션객체에 이미 null체크 메서드를 포함하고 있으므로, Optional 사용하지 않는 것이 좋다.
2. 파라미터로 사용하지 않는다.
반응형
'노빠꾸 개발일지 > JAVA' 카테고리의 다른 글
[Intelij] 인텔리제이 기본 초기 세팅 정리(메뉴 글자 크기, 소스코드 폰트크기 등등) (1) | 2024.01.01 |
---|---|
정적 팩토리 메서드란? (0) | 2023.05.29 |
[JAVA] 정적팩토리메서드(Static Factory Method)란? (0) | 2022.11.13 |
부트스트랩 정리 및 참고할 만한 부트스트랩 추천 사이트 (0) | 2022.09.18 |
메이븐(MAVEN) 프로젝트 기본 세팅해보기 - 2 (0) | 2022.09.14 |