Optional.orElse() 和Optional.orElseGet() 的區別
Optional 類別提供了orElse(>
何時使用orElseGet()
關鍵差異在於orElseGet() 延遲預設值擷取函數的執行,直到需要時才執行,而orElse( ) 始終執行該函數。在取得預設值是一項昂貴或耗時的操作且您只想在必要時執行的情況下,這可能很重要。
範例:<code class="java">Optional<Resource> resource = findResource(); Resource result = orElseGet(() -> getExpensiveDefaultValue());</code>
附加說明:
結論:orElseGet() 提供了一種延遲預設值執行的方法檢索函數直到有必要為止,在Optional非空時取得預設值值成本昂貴或不受歡迎的情況下,允許性能優化。
以上是什麼時候應該使用Optional.orElseGet()而不是Optional.orElse()?的詳細內容。更多資訊請關注PHP中文網其他相關文章!