Optional.orElseGet() — это метод, который позволяет задать значение по умолчанию, вызывая поставщик (Supplier) только тогда, когда Optional пуст.Если значение присутствует, возвращается оно.
Если значение отсутствует, вызывается
Supplier, который возвращает значение по умолчанию.📌 Пример:
import java.util.Optional;
public class OptionalOrElseGetExample {
public static void main(String[] args) {
String defaultValue = "Default Value";
// Пример с orElse
System.out.println("Using orElse:");
System.out.println(getValue().orElse(expensiveOperation(defaultValue)));
// Пример с orElseGet
System.out.println("Using orElseGet:");
System.out.println(getValue().orElseGet(() -> expensiveOperation(defaultValue)));
}
private static Optional<String> getValue() {
return Optional.empty(); // Эмулируем пустой Optional
}
private static String expensiveOperation(String input) {
System.out.println("Executing expensive operation...");
return input;
}
}
🔗 Ключевая разница между orElse и orElseGet:
✔️
orElse() всегда вычисляет значение по умолчанию, даже если оно не нужно.✔️
orElseGet() вызывает логику только при необходимости, что экономит ресурсы.💡 Совет:
Используйте orElseGet, если значение по умолчанию требует сложных вычислений или вызовов. Это сделает ваш код эффективнее.
#Java #Optional #orElse #orElseGet
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1🔥1👏1