想要简化以下使用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;
您可以使用Optional.ofNullable
,但我不建议这样做。
将Optional
中的所有内容包裹起来不会使其更易于阅读。您必须进行null
检查,因此要用obj == null
替换obj.isEmpty()
。