Вопросы к Поиску с Алисой
Разница между методами orElse() и orElseGet() в классе Optional заключается в том, как вычисляется значение по умолчанию. javanexus.com
orElse() вычисляет значение по умолчанию немедленно, независимо от того, нужно ли оно. javanexus.com Метод принимает в качестве параметра заранее вычисленное значение или вызов функции, которая вернёт значение по умолчанию. howtodoinjava.com
orElseGet() вычисляет значение по умолчанию только при необходимости. javanexus.com Метод принимает в качестве параметра функциональный интерфейс Supplier, который генерирует значение по умолчанию, и выполняет предоставленную логику только в случае пустого Optional. javanexus.com
Таким образом, orElse() подходит для простых значений, а orElseGet() — для сложной логики. javanexus.com