728x90
orElseorElseGet의 차이점은 메서드가 실행되는 시점입니다.
String email = userRepository.findById(id)
        .map(User::getEmail)
        .orElse("Unknown");
위 코드에서는 orElse를 사용하여 "Unknown"을 반환하도록 설정하였습니다. 만약 orElseGet 을 사용한다면 아래와 같이 작성할 수 있습니다.
String email = userRepository.findById(id)
        .map(User::getEmail)
        .orElseGet(() -> {
            logger.warn("User email is not found. Returning default email.");
            return "unknown@example.com";
        });
위 코드에서는 orElseGet 을 사용하여, Optional 객체가 비어있을 경우에만 로그를 출력하고, "unknown@example.com "을 반환하도록 설정하였습니다.


내저장소 바로가기 luxury515

+ Recent posts