Метод orElse
Метод orElse возвращает значение, содержащееся в объекте Optional, если оно там есть. Если же объект пуст, метод возвращает значение, переданное первым параметром. В первый параметр мы передаем значение по умолчанию, которое будет возвращено в случае отсутствия значения в Optional. Метод не изменяет сам объект Optional.
Синтаксис
optional.orElse(defaultValue)
Пример
Давайте создадим непустой Optional и получим его значение с помощью метода orElse:
import java.util.Optional;
public class Main
{
public static void main(String[] args)
{
Optional<String> opt = Optional.of("abcde");
String res = opt.orElse("default");
System.out.println(res);
}
}
Результат выполнения кода:
"abcde"
Пример
Теперь рассмотрим случай, когда Optional пуст. В этом случае метод вернет значение по умолчанию:
import java.util.Optional;
public class Main
{
public static void main(String[] args)
{
Optional<String> opt = Optional.empty();
String res = opt.orElse("default");
System.out.println(res);
}
}
Результат выполнения кода:
"default"
Пример
Давайте посмотрим, как метод работает с числами. Создадим Optional с числом и без него:
import java.util.Optional;
public class Main
{
public static void main(String[] args)
{
Optional<Integer> opt1 = Optional.of(12345);
Optional<Integer> opt2 = Optional.empty();
System.out.println(opt1.orElse(0));
System.out.println(opt2.orElse(0));
}
}
Результат выполнения кода:
12345
0
Смотрите также
-
метод
orElseGet,
который возвращает значение или результат функции -
метод
orElseThrow,
который выбрасывает исключение, если значение отсутствует -
метод
isPresent,
который проверяет наличие значения -
метод
get,
который возвращает значение из Optional