Лучшая практика Java, когда использовать лямбда-выражение

-7

У меня есть случай, когда сервис, который возвращает необязательный, и это значение используется только для условия, и если истинный возвращаемый успех возвращает другое исключение, поэтому для этого мне нужно использовать лямбда-выражение.

Optional<MyClass> val = service.getMyclass();
if(val.isPresent) {
//some operation
}else{
//throw exception
}

спросил(а) 2019-03-27T12:55:00+03:00 1 год, 7 месяцев назад
0
92

попробуйте ниже приведенный код.

Optional<MyClass> var = service.getMyclass();
MyClass val = var.orElseThrow(RuntimeException::new);

ответил(а) 2019-03-27T12:58:00+03:00 1 год, 7 месяцев назад
41

Вы можете использовать orElseThrow, если выброшено исключение, если значение равно нулю, вы можете записать следующий код, не проверяя снова

Optional<MyClass> val = service.getMyclass();
MyClass myValue = val.orElseThrow(Exception::new); //throw exception
//some operation

Если вы хотите обработать, только если значение не установлено, вы можете пойти с


val.ifPresent(v- > //some operation);

Вы можете посетить ссылку для деталей о Java 8 необязательно

ответил(а) 2019-03-27T13:44:00+03:00 1 год, 7 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема