gpt4 book ai didi

java - 为什么 FindBugs 显示冗余空检查警告

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:38:11 24 4
gpt4 key购买 nike

if (first != null && second != null && !first.equals(second)) {
// not null & not equal
} else if (first == null ^ second == null) {
// not both null and not both not null
// (first == null && second != null) || (first != null && second == null)
} else {
// both null or equal
}

FindBugs 提示 else if (first == null ^ second == null) {...}

最佳答案

自从您在评论中写道:not both null 这是一件好事,FindBugs 向您展示了您的(潜在)错误,因为您应该使用 && (AND) 而不是^(异或):

first != null && second != null

或者:

!(first == null || second == null)

更新:
OP 将注释更改为:“not both null and not both not null”此条件需要不同的 if:

(first == null && second != null) || (first != null && second == null)

相当于:

first == null ^ second == null

只是以前的版本更具可读性。

关于java - 为什么 FindBugs 显示冗余空检查警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19390963/

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