gpt4 book ai didi

java - 可能使用Optional#ofNullable创建冗余对象?

转载 作者:行者123 更新时间:2023-12-01 18:10:40 26 4
gpt4 key购买 nike

我对Optional的用法很好奇。

使用以下代码片段,

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:这个问题是否讨论过早优化?

最佳答案

  1. 这是一个意见问题。我个人认为使用 if block 的代码更具可读性,而且并不是更冗长
  2. 是的。创建短期可选对象的成本可以忽略不计,特别是与执行 JPA 查询相比。因此,如果发现基于可选的代码更具可读性和优雅性,则不必担心性能。

关于java - 可能使用Optional#ofNullable创建冗余对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33247568/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com