引用数据类型当作参数传递时,会修改原来的值。因为引用数据类型传递的是地址值
public class Test2 {
public static void main(String[] args) {
int[] arr = {12, 13, 14, 15};
int[] arr2 = updateArr(arr);
//引用数据类型传递的是地址值,操作后会影响原来的值
System.out.println(arr2[1]); //100
System.out.println(arr[1]); //100
}
public static int[] updateArr(int[] array) {
array[1] = 100;
return array;
}
}
基本数据类型当作参数传递时,不会修改原来的值。因为基本数据类型传递的是实际的值
public class Test2 {
public static void main(String[] args) {
//基本数据类型传递的是实际的值,方法中的操作改变,不影响调用外的变量值
int a = 10;
int b = 20;
updateNumber(a, b);
System.out.println("a:" + a + ",b:" + b); //10,20
}
public static void updateNumber(int a, int b) {
a = 100;
b = 200;
System.out.println("a:" + a + ",b:" + b); //100,200
}
}