实参:如果是基本类型,则实参不会变(传的是值);
如果是对象,则实参会改变(传的是引用)。
例如:
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。