Optional.orElse()와 Optional.orElseGet()의 차이점 확인
Java에서 Optional 클래스는 orElse( ) 및 orElseGet()은 잠재적인 누락 또는 null 값을 처리합니다. 효과적인 사용을 위해서는 미묘한 차이를 이해하는 것이 중요합니다.
orElse() 대 orElseGet()
orElseGet()을 사용하는 경우
실제 함수 예시
차이점을 설명하려면 다음 함수를 고려하세요.
<code class="java">public Optional<String> findMyPhone(int phoneId)</code>
시나리오 1: orElse()
선택적.isPresent()인 경우 == true:
선택적.isPresent() == false인 경우:
시나리오 2: orElseGet()
경우 option.isPresent() == true:
선택적.isPresent() == false인 경우 :
코드 예
<code class="java">public class TestOptional { public Optional<String> findMyPhone(int phoneId) { return phoneId == 10 ? Optional.of("MyCheapPhone") : Optional.empty(); } public String buyNewExpensivePhone() { System.out.println("Going to a very far store to buy a new expensive phone"); return "NewExpensivePhone"; } public static void main(String[] args) { // Scenario 1: orElse() Optional<String> phone = findMyPhone(10).orElse(buyNewExpensivePhone()); // Scenario 2: orElseGet() phone = findMyPhone(-1).orElseGet(() -> buyNewExpensivePhone()); } }</code>
코드는 선택적 값의 유무에 따라 orElse() 및 orElseGet()의 다양한 동작을 보여줍니다.
위 내용은 Java에서 Optional.orElse() 대신 Optional.orElseGet()을 언제 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!