SonarLint:删除文字“false”布尔值

发布于 2025-01-09 10:31:58 字数 217 浏览 1 评论 0原文

我得到“删除字面上的“假”布尔值”。以下语句错误,但我不确定是否有可能删除 false。有什么想法吗?

final boolean isDisabled = productMap.get(product.getUuid()) != null ?
                    productMap.get(product.getUuid()) : false;

I get "Remove the literal "false" boolean value." error for the following statement, but I am not sure if there is a possibility to remove false. Any idea?

final boolean isDisabled = productMap.get(product.getUuid()) != null ?
                    productMap.get(product.getUuid()) : false;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一花一树开 2025-01-16 10:31:58

声纳可能遵守使用三元运算和布尔运算的文字。

检查您的代码,我假设 ProductMap 值是布尔值,而不是布尔值,这就是您进行空检查的原因。

在这种情况下,请考虑使用以下代码来安全地拆箱可为空的布尔值

final boolean isDisabled = Boolean.TRUE.equals(productMap.get(product.getUuid()));

Probably Sonar complies about having a ternary operation with a literal for a boolean operation.

Checking your code I assume productMap values are Boolean, not boolean, thats why you are null checking.

In that case consider the following code for safe unboxing a nullable Boolean

final boolean isDisabled = Boolean.TRUE.equals(productMap.get(product.getUuid()));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文