String 的特殊性

public class StringTest {
	String a = new String("abc");
	char[] b = {'a','b','c'};
	
	public void exchange(String a, char[] b){
		a = "new avl";
		b[0] = 'n';
	}
	
	public static void main(String[] args) {
		StringTest st = new StringTest();
		st.exchange(st.a, st.b);
		System.out.print(st.a + "--");
		System.out.println(st.b);
	}
}

OutPut:

abc--nbc

1)java中只存在值传递

2)String的赋值操作会新建一个String,然后再指向。所以没有改变原来的值

猜你喜欢

转载自blog.csdn.net/u011385186/article/details/79094444