相关疑难解决方法(0)

如何在Java中编写基本交换函数

我是java的新手.如何编写java相当于以下C代码.

void Swap(int *p, int *q)
{
   int temp;
   temp = *p;
   *p = *q;
   *q = temp;
} 
Run Code Online (Sandbox Code Playgroud)

java swap

53
推荐指数
5
解决办法
16万
查看次数

如何在Java中通过引用传递varargs

我正在编写一个接收任意数量参数并返回修改的方法.我尝试过使用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[],因此引用丢失了.

知道我怎么能这样做?

java variadic-functions

0
推荐指数
1
解决办法
846
查看次数

标签 统计

java ×2

swap ×1

variadic-functions ×1