java中调用函数参数传递均为值传递
public static void main(String[] args) {
String a = "a";
String b = "b";
swap(a, b);
System.out.println(a);
}
public static void swap(String str1, String str2){
String temp = str1;
str1 = str2;
str2 = temp;
}
a, b均为字符串引用,a指向字符串“a”, b指向字符串"b",在调用方法swap时,形参str1,str2分别是引用a,b的拷贝,此时,引用str1指向“a”, str2指向"b",在方法swap中修改了str1与str2的指向,但是引用a,b的指向仍然没有变。