Если вы настаиваете на использовании библиотечного класса для перевода его в однострочник, Optional
немного лучше, чем Stream
(что в итоге дает вам Optional
в любом случае):
Boolean isLocked = true;
Optional.of(isLocked).filter(x -> ! x).orElseThrow(LimitLockException::new);
Мне все еще это не нравится. orElseThrow
для непредвиденного отсутствия элемента, значения, которое должно присутствовать. Это не для того, чтобы быть заблокированным. Для того, чтобы вызвать исключение в этом случае, я предлагаю, чтобы вы предпочли иметь оператор throw
, явно расположенный на его собственной строке. Так что используйте if
утверждение из ответа Намана.