public class Demo{
public static void main(String[] args) {
int a = 1;
Integer b = new Integer(1);
Method1(a, b);
System.out.println(a);
System.out.println(b);
}
public static void Method1(int a, Integer b) {
a = 1000;
b = 1000;
}
}
我理解a的值不会变,但是为什么b的值也不变呢?
传参等同于赋值,原代码等同于
修改的是
_a
,_b
这两个参数,a
,b
不受影响所以 java 无法在方法里修改外部的局部变量,代替的做法是:修改数组元素、对象属性、类属性