[在Java 8中使用Optional的多个null检查

问题描述 投票:1回答:1

想要简化以下使用Java 8的if和else的代码段。试图在这里找到它,但找不到答案。

LocalDateTime beDate= someDate;
LocalDateTime aeDate = someDate;
LocalDateTime eDate = null;
if(beDate == null && aeDate == null)
  eDate = null;
else if(beDate != null && aeDate == null)
  eDate = beDate;
else if(beDate == null && aeDate != null)
  eDate =  aeDate;
else if(beDate != null && aeDate != null &&
  (beDate.isEqual(aeDate) || beDate.isBefore(aeDate))
  eDate = beDate;
else 
  eDate = aeDate;
java java-8 java-stream optional null-check
1个回答
1
投票

您可以使用Optional.ofNullable,但我不建议这样做。

Optional中的所有内容包裹起来不会使其更易于阅读。您必须进行null检查,因此要用obj == null替换obj.isEmpty()

© www.soinside.com 2019 - 2024. All rights reserved.