不记得在哪里看到Java只有值传递,也就是形参不会改变实参的数据。
但是今天测试却发现不是这样的。下面说一下我的测试结果
注:我把会改变实参的值叫做,地址值(引用)传递
测试结果如下:
1、八大基本数据类型,以及他们的包装类型。 是 值传递
2、其它的对象,比如,List、Set、Map、以及自己创建的对象都是 地址值传递
测试基本代码如下
public class Test2 {
void fun (Integer i){
i = 2;
}
public static void main(String[] args) {
Test2 test = new Test2();
Integer i = new Integer(1);
test.fun(i);
System.out.println(i);
}
}