[Java]String不可变造成的引用传递参数修改无效

public class T2 {
	public static void change (String s) {
		s = "hah";
		System.out.println("s = "+s);
	}
	public static void change1 (StringBuffer sbr) {
		sbr.replace(0, sbr.length(), "kk");
	}
	public final static void main(String[] args) {
		String str = "jkl";
		change(str);
		System.out.println(str);
		StringBuffer srb = new StringBuffer("hh");
		change1(srb);
		System.out.println("srb = "+srb);
	}
}

运行结果:

String是不可变类型,所以修改无效,StringBuffer是可变类型,所以修改有效

猜你喜欢

转载自blog.csdn.net/chenhanxuan1999/article/details/91485143