gpt4 book ai didi

交换原语的 Java 方法

转载 作者:太空宇宙 更新时间:2023-11-04 09:26:32 24 4
gpt4 key购买 nike

如果没有可以通过引用传递的方法,我该如何在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/57636541/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com