先说结果:Java方法中参数的传递,是值传递,而非引用传递。
值传递即新增副本,只不过对于引用类型的变量,这个副本是地址的副本,而不是对象的堆空间的副本!
Java中方法都是值传递,即做一个副本给到方法,方法处理不会影响到先前的变量值。
一.可以印证值传递的例子:
import java.util.ArrayList;
import java.util.List;
public class TestFunctionParam {
public static void main(String[] args) {
TestFunctionParam testFunctionParam = new TestFunctionParam();
int i = 0;
testFunctionParam.increaseValue(i);
System.out.println("i:" + i);
Integer j = new Integer(0);
testFunctionParam.increaseValue(j);
System.out.println("j:" + j);
String string = "a";
testFunctionParam.increaseText(string)