Optional Java – что это и как использовать?
Optional в Java - это класс, который позволяет передавать значения, которые могут иметь либо реальные значения, либо отсутствие значений (null).
Он был добавлен в Java 8 как способ избежать NullPointerException и обеспечить гораздо более понятные сообщения об ошибках. Также Optional позволяет делать код более чистым и упрощать проверки на null, в то время как он также может упростить код при работе с Java Stream API.
Пример использования Optional:
Optional
if (someString.isPresent()) {
String result = someString.get();
} else {
String result = "Default string";
}
В этом примере, мы передаем результат работы метода getStringFromSomewhere() в Optional через метод ofNullable(). Метод isPresent() позволяет проверить, есть ли значение в Optional объекте. В случае, если значение присутствует, мы можем получить его вызовом метода get(). Если значение не присутствует, мы можем получить значение по умолчанию "Default string".
Пример использования Optional с Java Stream API:
List
Optional
.filter(s -> s.startsWith("c"))
.findFirst();
В этом примере, мы используем Optional вместе с методом findFirst() из Java Stream API для нахождения первого элемента в списке, начинающегося с буквы "c". Возвращаемый результат является Optional объектом, который содержит искомый элемент или ничего, если таковой не найден.
Таким образом, использование Optional в Java может значительно упростить и очистить код, сделать его более понятным и уменьшить вероятность NullPointerException. Однако, следует быть осторожным при использовании Optional, поскольку он может повлечь за собой издержки производительности.