String类型的字符串的内容一旦声明赋值之后是不可以改变的
public class Hello {
public static void main(String[] args) {
String s = "hello";
s +="world";
s +="!";
System.out.println(s);
}
}
输出结果:helloworld!
这里改变的不是原来的字符串的内容,改变的是引用。
【hello】并没有改变,改变的是引用。还发现了生成许多没有栈内存指向的对象,这样的对象将会等待GC回收!
如果一个String类字符串改变频率较高则会产生大量的垃圾,这样造成内存损耗从而降低性能。
如果字符串频率改变高的时候我们不使用String类来实现字符串的创建,而是使用【StringBuffer】或者【StringBuilder】类来创建字符串。
总结:
1.String类的字符串对象不可以改变
2.如果一个字符串改变频率太高则会产生大量的垃圾,所以此时我们不使用String类来实现字符串的创建。