标签: java
假设我有变量持有3而另一个持有5.我需要在没有其他变量的情况下切换它们的值。我该怎么办?
答案 0 :(得分:1)
可以使用bitwise XOR:
x ^= y; y ^= x; x ^= y;
这被称为XOR swap algorithm(维基百科的文章详细介绍了它的工作原理,所以我建议你阅读它)。
然而,这并不是特别容易理解(更不用说它只适用于整数类型),因此在几乎所有使用临时变量的上下文中都是首选:
int tmp = x; x = y; y = tmp;