你误解了教程的意思,教程是比较了铅高Object对象和String在作为方法参数传递后能否在方法慧激清内部被修改
比如:
public static void main(String args[]) {
String tmp = "a";
foo(tmp);
System.out.println(tmp) ; //这里输出的是a,而不是在foo里重新设定的b
}
private void foo(String str) {
str = "b";
}
==========================================================
如果传了一个对象
public class StringTest {
public String m_str;
public void toString() {
return m_str;
}
}
public static void main(String args[]) {
StringTest tmp = new StringTest();
tmp.m_str = "a";
foo(tmp);
System.out.println(tmp.toString()) ; //这里输出的是b,因为这个对象的前前m_str值在foo方法中被改变了
}
private void foo(StringTest str) {
str.m_str = "b";
}