标签: java netbeans-7 swap bitwise-xor
我用XOR-swap交换了两个整数的值,为此我使用了以下代码行:
a ^= (b ^= (a ^= b));
之后,b获取正确的值(a的前值),但a变为零。如果我不在一行上写它,它可以正常工作,如下:
b
a
a ^= b; b ^= a; a ^= b;
我做错了什么,或者netbeans / compiler / JRE做错了什么? (使用netbeans 7.2.1)