Java | Фишки и трюки
7.21K subscribers
182 photos
29 videos
6 files
40 links
Java: примеры кода, интересные фишки и полезные трюки

Купить рекламу: https://telega.in/c/java_tips_and_tricks

✍️По всем вопросам: @Pascal4eg
Download Telegram
⌨️ Optional.orElse() и Optional.orElseGet()

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
👍71🔥1👏1