public static int[] swap(int a, int b) {
a ^= b;
b ^= a;
a ^= b;
return new int[] { a, b };
}
同c++不同,没有引用操作,只能返回数组作为操作,用异或提高效率
在程序开发的过程,要交换两个变量的内容,是一种比较常见的事情。在排序算法中,就有一种就叫做“交换排序法”。在所有的排序算法,交换要排序的集合中的两个元素,几乎是必须的过程。在Java中交换两个元素的内容,如果你是程序员新手,你可能碰到意想不到的问题。
众所周知,java和C、C++中都不能通过值传递的方式实现两个整数的交换。