天天看点

java 实参_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。