问题:
优化代码的时候遇到,无法修改变量的值。
场景:
现有两个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中该参数的值。