使用 xor 运算符进行布尔检查是否为好做法?[已关闭]

我个人喜欢独占或,运算符,因为它的简洁性,在布尔检查的上下文中有意义。我更喜欢写^

if (boolean1 ^ boolean2)
{
  //do it
}

if((boolean1 && !boolean2) || (boolean2 && !boolean1))
{
  //do it
}

但是我经常从其他有经验的Java开发人员(不仅仅是新手)那里得到困惑的表情,有时还会评论它如何只用于按位操作。

我很好奇有关使用运算符的最佳实践。^


答案 1

您可以简单地使用。!=


答案 2

我想你已经回答了自己的问题 - 如果你从人们那里得到奇怪的表情,那么使用更明确的选项可能更安全。

如果你需要评论它,那么你最好用更详细的版本替换它,而不是让人们首先问问题。


推荐