在布尔检查的情况下,我个人喜欢使用异或(exclusive or)运算符^
,因为它简洁明了。因此,我更喜欢这样写:
if (boolean1 ^ boolean2)
{
//do it
}
比
if((boolean1 && !boolean2) || (boolean2 && !boolean1))
{
//do it
}
但是我经常从其他有经验的Java开发人员(不仅仅是新手)那里得到困惑的表情,有时还会听到关于它只能用于位运算的评论。
我很好奇关于使用^
操作符的最佳实践。