¿Por qué intercambiar con xor funciona bien en c ++ pero en java no? algún rompecabezas [duplicado]
Posible duplicado:
¿Por qué esta declaración no funciona en java x ^ = y ^ = x ^ = y;
Código de muestra
int a=3;
int b=4;
a^=(b^=(a^=b));
En c ++ intercambia variables, pero en java obtenemos a = 0, b = 4 ¿por qué?