java 方法内修改外部变量,值不变

19 篇文章 0 订阅
13 篇文章 0 订阅
问题:

优化代码的时候遇到,无法修改变量的值。

场景:

现有两个java 方法,方法2包含在方法1中,方法1中的变量作为参数传入方法2,在方法2内部对这个传入的参数的值进行了修改。

    public static void main(String[] args) {
        String ts = "123";
        changeTest(ts); // 基础数据类型,无法修改ts的值
        System.out.println(ts);
    }
    private static void changeTest(String ts){
        System.out.println(ts);
        ts = "456"; // 修改对外部方法无效
    }

无法这样修改的数据类型包含: 8大基本类型 和 String

结论:

1.如果传入的是基本类型,该变量在方法1中的值不变,需要return 返回值;
2.如果传入的是引用类型(对象),不修改该变量原指针时,该变量在方法1中的值将改变。
3.不管传入方法2的参数是什么类型,方法2内部都能够获取到方法1中该参数的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值