Необязательный или исключение
Правда ли, что с Java 1.8 возвращаетсяOptional
объект предпочтительнее, чем выбрасывать исключение? Все чаще я вижу такой код:
public Optional<?> get(int i) {
// do somtething
Object result = ...
Optional.ofNullable(result);
}
Вместо этого:
public Object get(int i) {
if(i<0 || i>=size) {
throw new IndexOutOfBoundsException("Index: " + i + ". Size: " + size);
}
// do somtething
Object result = ...
return result;
}
Значит ли это, что нам нужно забыть старый подход и использовать новый? И гдеOptional
подходит вообще?