如果没有可以通过引用传递的方法,我如何在 java 中创建交换函数?谁能给我一个代码?
swap(int a, int b)
{
int temp = a;
a = b;
b = temp;
}
但由于 java 是按值传递参数,因此更改不会反射(reflect)回来。
最佳答案
我认为这是最接近简单交换的方法,但它没有直接的使用模式:
int swap(int a, int b) { // usage: y = swap(x, x=y);
return a;
}
y = swap(x, x=y);
它依赖于 x
将在 y
分配给 x
之前传递到 swap
的事实,然后x
返回并分配给 y
。
您可以使其通用并交换任意数量的相同类型的对象:
<T> T swap(T... args) { // usage: z = swap(a, a=b, b=c, ... y=z);
return args[0];
}
c = swap(a, a=b, b=c)
关于交换原语的Java方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2393906/