String和包装类是引用传递还是值传递?

String和包装类 都是final类型不能被继承。创建这种类型的对象也是在堆上对其分配内存的。所以他们变量属于是引用传递,但是由于value的final类型的特点,使得我们在使用的时候常常表明看起来他们是值传递,其实他们是引用传递
    
    String存放值的 value 是一个final类型的字符数组,所以当String变量赋值后就是不可变的,值一旦发生改变其实是新建了一个String对象,当前的变量重新指向了这个String对象的。
    
    包装类存放值的vlaue 也是final类型的一旦创建对象后,他们的值是不允许发生变化的,所以修改他们的值后就是新建了一个对象,让后变量指向了这个新的对象


版权声明:本文为weixin_42247563原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。