Java字符串 传值

class A{
public static void b(String a){
		a += "bbb";
	}
	public static void main(String[] args){
		String a = "a";
		A.b(a);
		System.out.println(a);
	}
}

 打印出来的是a.

因为

java Stirng对象当然传递的是引用。但是String对象有其特殊性。String对象用“+”操作的时候,会把对象引用指向一个新的地址,也就是 “abbb”的地址,这样在b方法里的String a引用就变掉了,而在main方法里a引用仍旧在原来的“a”的地址。
要注意的是,b方法里a的引用和main方法里a的引用是两个引用,初始都指向同一地址。

你可能感兴趣的:(java)