2018-05-08 Integer引用传值

2018-05-08  本文已影响0人  MiaLing007

Integer是int的封装类型,是引用类型。那为什么不能作为引用类型作为参数传递呢

public class StatisticsTest {
    
    public void setInt(Integer i) {
        i+=1;
    }
    
    public static void main(String[] args) {
        Integer a = 1;
        StatisticsTest test = new StatisticsTest();
        test.setInt(a);
        System.out.println("a="+a);
    }
}

控制台打印结果 a=1
通过打印结果发现a的值并没有发生变化。

查看Integer的源码会发现

private final int value;

值被定义为final的,也就是一旦赋值,将不能改变。导致这个值没法改变

上一篇 下一篇

猜你喜欢

热点阅读