Java
<JAVA> Optional객체
Mulenga
2023. 4. 20. 07:16
728x90
Java의 ‘Optional’객체는 ‘java.util.Optional’클래스를 사용하여 값을 포장하는 컨테이너이다. 이 클래스는 null값을 처리하는데 도움이 되며, NullPointerException을 방지하고 코드의 가독성을 높이는데 사용된다.
사용법
1.객체 생성
// 빈 Optional 객체 생성
Optional<String> emptyOptional = Optional.empty();
// Non-null 값으로 Optional 객체 생성
Optional<String> nonNullOptional = Optional.of("Hello");
// Null 값이 허용되는 Optional 객체 생성
Optional<String> nullableOptional = Optional.ofNullable(null);
2.값 가져오기
String defaultValue = "Default";
//값이 존재하면 가져오기, 없으면 기본값 반환
String value1 = nonNullOptional.orElse(defaultValue);
//값이 존재하면 가져오기, 없으면 Supplier에서 생성
String value2 = nullableOptional.orElseGet(() -> "Generated");
// 값이 존재하면 가져오기, 없으면 예외 발생
String value3 = nonNullOptional.orElseThrow(() -> new NoSuchElementException());
3.값 존재 여부 확인
// 값이 존재하는지 확인
boolean isPresent = nonNullOptional.isPresent();
// 값이 존재하지 않는지 확인
boolean isEmpty = nullableOptional.isEmpty();
4. 값 처리하기
// 값 변환하기
Optional<String> upperOptional = nonNullOptional.map(String::toUpperCase);
// 중첩 Optional 풀기
Optional<String> flatMappedOptional = nonNullOptional.flatMap(v -> Optional.of(v.toUpperCase()));
// 조건 필터링
Optional<String> filteredOptional = nonNullOptional.filter(v -> v.length() > 3);
5. 값이 존재할 경우 실행하기
nonNullOptional.ifPresent(value -> System.out.println("실행"));