【发布时间】:2016-04-14 19:22:27
【问题描述】:
我知道String是不可变的,它的值不能改变,但是为什么下面StringBuffer的值在像方法参数一样发送时没有改变。据我了解,它应该随着新值“bb”而改变。谢谢您的帮助。
class Ideone {
public static void main (String[] args) {
String s = "aa";
StringBuffer sb = new StringBuffer("aa");
modify(s, "bb");
modify2(sb, "bb");
System.out.println(s);
System.out.println(sb);
}
public static void modify(String s, String ss) {
s = ss;
}
public static void modify2(StringBuffer sb, String ss) {
sb = new StringBuffer(ss);
}
}
【问题讨论】:
标签: java stringbuffer