본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

JAVA

Optional 객체가 값이 없을경우 대체값을 설정하기: orElse() orElseThrow()

orElse()와 orElseThrow()

Optional 객체가 값이 없을경우 대체값을 설정한다.

import java.util.NoSuchElementException;
import java.util.Optional;

public class Main {
    public static void main(String[] args) {
        // Optional 객체 초기화: 값이 있을 경우
        Optional<String> optionalWithValue = Optional.of("Hello");
        
        // Optional 객체 초기화: 값이 없을 경우
        Optional<String> optionalEmpty = Optional.empty();
        
        // Optional 객체 초기화: 값이 null일 가능성이 있는 경우
        String nullableValue = null;
        Optional<String> optionalNullable = Optional.ofNullable(nullableValue);
        
        // 출력
        printOptional(optionalWithValue);
        printOptional(optionalEmpty);
        printOptional(optionalNullable);
    }
    
    public static void printOptional(Optional<String> optional) {
        try {
            // 값이 있는 경우 해당 값 출력
            String value = optional.orElseThrow(NoSuchElementException::new);
            System.out.println("Optional value: " + value);
        } catch (NoSuchElementException e) {
            // 값이 없는 경우 대체값으로 "Default Value"를 사용
            String defaultValue = "Default Value";
            System.out.println("Optional is empty, using default value: " + defaultValue);
            // orElse 메소드를 사용하여 대체값 설정
            String value = optional.orElse(defaultValue);
            System.out.println("Optional value: " + value);
        }
    }
}

[출력결과]
Optional value: Hello
Optional is empty, using default value: Default Value
Optional value: Default Value
Optional is empty, using default value: Default Value
Optional value: Default Value