【发布时间】:2016-01-13 09:39:55
【问题描述】:
当我将一个数组作为参数传递给函数时,原来的数组被改变了,但数组不应该被改变,对吧?如有错误请指正。
下面我将一个 int x=10 作为参数传递给 change(int a) 函数。 原来的 int x 的值被改变了。
那么相同的代码如何以不同的方式影响数组和 int 呢?
public class Runy {
public static void main(String [] args)
{
Runy p = new Runy();
p.start();
}
void start()
{
long [] a1 = {3,4,5};
long [] a2 = fix(a1);
int x=10;
int y= change(x);
System.out.println(y);
System.out.println(x);
System.out.print(a1[0] + a1[1] + a1[2] + " ");
System.out.println(a2[0] + a2[1] + a2[2]);
}
long [] fix(long [] a3)
{
a3[1] = 7;
return a3;
}
int change(int a)
{
a=a+1;
return a;
}
}
【问题讨论】:
-
数组和整数是不同的。