Я был удивлен Optional.ofNullable
метод. Однажды я написал функцию, которая должна возвращать Факультативно:Optional.ofNullable и метод chaining
private Optional<Integer> extractFirstValueFrom(InsightsResponse insight) {
return Optional.ofNullable(insight.getValues().get(0).getValue());
}
Я ошибочно полагал, что Optional.ofNullable
предотвратит NullPointerExceptions
внутри выражения аргумента.
Теперь я думаю, что знаю, что это была очень глупая идея. Java должен сначала разрешить аргументы, чтобы передать его вызову Optional.ofNullable
.
У меня есть вопрос. Есть ли хороший и хороший способ достичь моей цели? Я хотел бы получить из выражения insight.getValues().get(0).getValue()
некоторое целочисленное значение или null. Нулевым может быть каждое из выражений: insight.getValues()
или insight.getValues().get(0)
.
Я знаю, что могу просто положить это в блок try/catch, но мне интересно, есть ли более элегантное решение.
В вашем случае 'insight' имеет значение null. Гораздо лучше никогда не передавать значение null методам, а не проверять нулевые внутри методы. –