实参:如果是基本类型,则实参不会变(传的是值);
如果是对象,则实参会改变(传的是引用)。
例如:
public class Java{ public static void main(String[] args) { int b =5; changeInt(b); System.out.println(b);
}
public static int changeInt(int a){ a =10; return a; }
}
为什么changeInt(b)之后输出的是5?
把b传到changeInt方法中之后为什么b的值没改变?
是这样的,基本类型和String均为值传递,想要实现你的需求只能改用对象,当然也可以使用集合类比如Map,或者数组(这个比较方便)。
更正:
public class Java{ public static void main(String[] args) { int b =5; b = changeInt(b); System.out.println(b);
}
public static int changeInt(int a){ a = 10; return a; }
}
changeInt(b)之后输出的是10。