【发布时间】:2016-05-12 09:43:03
【问题描述】:
您能否解释一下为什么在下面的代码中 String 和 StringBuffer 会被区别对待,以及在 StringBuffer 中附加值而不是在 String 中附加值时。
public class MyClass {
public static void main(String args[]) {
String str = new String("String Rohan ");
StringBuffer strBfr = new StringBuffer("String Buffer Rohan ");
strUpdate(str);
strBfrUpdate(strBfr);
System.out.println(str);
System.out.println(strBfr);
}
private static void strBfrUpdate(StringBuffer strBfr){
strBfr.append("Kushwaha");
}
private static void strUpdate(String str){
str += "Kushwaha";
}
}
输出如下:
字符串罗汉
字符串缓冲区 Rohan Kushwaha
【问题讨论】:
-
因为 String 是不可变的,而 stringbuffer 是可变的。
标签: java string stringbuffer