有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java8使用可选的

我有一个代码块:

public Builder withMultiValueMap(MultiValueMap<String, String> multiValueMap) {
  ...
  withRespondentId(Long.valueOf(multiValueMap.getFirst("respondentId")));
  ...
  return this;
}

有时,如果respondentId键没有值,map可以返回null。 我可以用老方法处理它,比如

  String respondentId = multiValueMap.getFirst("respondentId");
  withRespondentId(respondentId == null? null: Long.valueOf(respondentId));

。。。但我想做得更好

使用java8 Optional或其他东西可以简化吗


共 (1) 个答案

  1. # 1 楼答案

    与此表达式具有相同结果的语法:

    respondentId == null? null: Long.valueOf(respondentId)
    

    是吗

    Optional.ofNullable(respondentId).map(Long::valueOf).orElse(‌​null)
    

    因为它实际上更长,所以它并不是一个完全的胜利,尽管它可能会更具可读性