我是java的新手.如何编写java相当于以下C代码.
void Swap(int *p, int *q)
{
int temp;
temp = *p;
*p = *q;
*q = temp;
}
Run Code Online (Sandbox Code Playgroud) 我正在编写一个接收任意数量参数并返回修改的方法.我尝试过使用varargs但是它不起作用,在这里你可以看到代码的简化版本:
public static void main(String[] args) {
String hello = "hello";
String world = "world";
addPrefix(hello, world);
System.out.println("hello: " + hello + " world: " + world);
}
public static void addPrefix(String... elements) {
for (int i = 0; i < elements.length; i++) {
elements[i] = "prefix_" + elements[i];
}
for (int i = 0; i < elements.length; i++) {
System.out.println(elements[i]);
}
}
Run Code Online (Sandbox Code Playgroud)
印刷结果:
prefix_hello
prefix_world
hello: hello world: world
Run Code Online (Sandbox Code Playgroud)
如您所见,在方法内部正确修改了值,但原始变量未更改.
我已经查看了很多页面,比如这里和这里,但似乎Java将vars的值复制到a Object[],因此引用丢失了.
知道我怎么能这样做?