728x90
반응형
orElse
Optional 객체에 값이 있을 경우 그 값을 반환하고, 값이 없을 경우에만 기본값을 반환
Optional의 값이 NULL이든 아니든 항상 호출
주어진 기본값을 항상 평가하며, Optional에 값이 있더라도 무조건 실행됨
Optional<String> optionalName = Optional.of("John");
String result = optionalName.orElse("Default Value");
System.out.println(result); // 출력: John
// 만약 optionalValue가 값이 있는 경우, result에는 "Hello"가 저장됨
// 값이 없는 경우에만 기본값 "Default Value"가 저장됨
orElseGet
orElseGet 메서드는 Optional 객체에 값이 있을 경우 그 값을 반환하고, 값이 없을 경우에만 기본값을 제공하는 람다 표현식 또는 Supplier 객체를 사용
Optional의 값이 NULL일 경우에만 호출
값이 없을 때만 람다 표현식 또는 Supplier를 평가하므로, 값이 있는 경우에는 추가적인 연산이 발생하지 않음
Optional<String> optionalName = Optional.empty();
String result = optionalName.orElseGet(() -> expensiveOperation());
System.out.println(result); // 출력: Default Value
// 값이 없는 경우에만 expensiveOperation() 메서드를 실행하여 기본값을 얻음
// 값이 있으면 expensiveOperation()은 실행 안됨
반응형
'프로그래밍 > JAVA' 카테고리의 다른 글
[Java] 5. Optional의 isPresent(), ifPresent(), ifPresentOrElse() (0) | 2023.07.24 |
---|---|
[Java] equals 비교 시 is null 에러 발생하는 경우 (0) | 2023.07.21 |
[Java] 3. Optional 값 가져오기 (0) | 2023.07.19 |
[Java] 1. Optional / 2. Optional 객체 생성 (0) | 2023.07.18 |
[Java] Java17 추가된 문법 및 함수 정리 (0) | 2023.07.13 |