gpt4 book ai didi

java - 为了清晰和可读性,对可选 ifPresent() 执行逻辑 NOT 的替代方案

转载 作者:行者123 更新时间:2023-11-30 02:21:11 25 4
gpt4 key购买 nike

当我想检查 Optional 是否为空时,我可以使用 ifPresent()。这工作正常,但当表达式同时检查 isEmpty() 时尝试检查某些内容是否不存在时,可能会产生误导。

例如:

if (!a.isPresent() && b.isEmpty() && c.isEmpty())
return true;

如果我快速阅读它,我认为它应该是if true && false && false。我必须始终特别注意它是否是“如果不存在”而不是“如果存在”。

我当然可以这样写:

if (a.isPresent() == false && b.isEmpty() && c.isEmpty())
return true;

但这对我来说太可怕了。

我希望Optional有一个isEmpty(),因为在我看来,我认为它是一个集合,但可惜我们没有。

有没有其他方法可以这样写,既意图明显,又可读性好?

最佳答案

显然,您可以自己编写这样的方法,但就我个人而言,我发现这也很可读:

if (a.equals(Optional.empty()))

它清楚地写着“如果a为空”。我认为这将很好地解决“看不到小 ! 运算符”的问题,因为表达式变得更加冗长,你自然会更加关注它。

关于java - 为了清晰和可读性,对可选 ifPresent() 执行逻辑 NOT 的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46783113/

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