我很好奇Optional
的用法。可選的#ofNullable創建可能的冗餘對象?
有了下面的代碼片段,
public List<Some> read(
@QueryParam("first_result") @Min(0)
final Integer firstResult,
@QueryParam("max_results") @Min(0)
final Integer maxResults) {
// ...
if (firstResult != null) {
query.setFirstResult(firstResult);
}
// ...
}
當我改變這樣的代碼,
ofNullable(firstResult).ifPresent(v -> query.setFirstResult(v));
- 問題1:請問
ofNullable
明顯創建一個冗餘的對象? - 問題2:是否值得避免使用鍋爐代碼?
- 問題3:這個問題是否在談論過早優化?
這是如何比簡單的'if'語句更好? – ZhongYu
也是創建lambda表達式對象的代價,並調用它的方法;以及這種複雜情況如何影響JIT優化器。 – ZhongYu