我的问题以Java为例,但我想它可能适用于所有情况。

在比较 bool(boolean) 值时,XOR运算符(Java中的^)和不等于运算符(Java中的!=)之间有什么实际区别?

我在这里评估了事物,但我一直想知道(看起来很奇怪,两件事相等)……却在网上找不到任何东西。在某个论坛中只有一个讨论迅速结束,没有任何结果。

最佳答案

对于 bool(boolean) 值,它们的含义相同-尽管XOR有一个复合赋值运算符:

x ^= y;

对于等式,没有等效的复合赋值运算符。

至于它们为什么都可用的原因-XOR不可用的原因很奇怪,因为XOR与不相等的工作方式相同。从逻辑上讲,它应该在那里。对于非 bool(boolean) 类型,结果是不同的,因为它是不同的结果类型,但这并不意味着删除boolean的XOR是有意义的。

关于boolean - XOR和NOT-EQUAL-TO有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4175480/

10-12 21:17