JAVA里怎么样在调用方法时同时改变实参的值 (形参改变实参)

实参:如果是基本类型,则实参不会变(传的是值);

            如果是对象,则实参会改变(传的是引用)。

例如:

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





你可能感兴趣的:(java,方法掉用)