欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java字符串 传值 Java 

程序员文章站 2022-07-02 18:43:11
...
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