Верно ли, что, поскольку 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
подходит вообще?