今天发现了就是当一个函数的参数为整形,这个参数就是值传递;而当一个参数为数组时,就是为引用传递
网上解释:整型属于值传递,数值传递时,值不会发生改变;而数组属于引用传递,调用方法后,原数值会被重新赋值
看代码把:
private static void changeStr(String s){
s = "changed";
}
private static void changeArray(int[] a){
a[0] = 0;
}
public static void main(String[] args) {
String s = "ss";
int[] a = {5, 9, 4, 2, 6, 1, -2, 8};
changeStr(s);
changeArray(a);
System.out.println(s);
for (int i : a) {
System.out.print(i + " ");
}
}
运行结果:
所以我们以后想改变一个函数的参数的值,就不要用void类型,而要返回改变后的值