一、String类队形内容不可改变
public class Zfc{
public static void main(String[] args) {
String s="Hello ";
s+="world";
s+="!";
System.out.println(s);
}
}
输出 Hello world!
其实这里改变的不是原来的字符串的内容,改变的是引用。
最初声明的“hello”并没有发生改变,改变的是引用,而且在常量池中生成许多没有栈内存指向的对象,这样的对象将会等待GC回收。如果一个String类字符串改变的频率较高这回产生大量的垃圾,这样造成内存的消耗从而降低了性能。
所以如果字符串频率改变过高的时候我们不使用String来实现字符串的创建,而是使用“StringBuffer”或者“StringBuilder”来创建字符串。