字符串是敞亮,它们的值在创建之后不能更改
字符串的内容一旦发生了变化,那么马上回创建一个新的对象
public class Demo1{
public static void main(String[] args){
String str = "hello";
str = str + " world";
System.out.println(str);
}
}
例:
public class Demo2{
public static void main(String[] args){
String str1 = "hello";
String str2 = str1 + " world";
System.out.println("str1与str2是同一个对象?"+(str1 == str2));
}
}
注意:字符串的内容不适宜频繁修改,因为一旦修改马上就会创建一个新的对象。
如果需要频繁修改字符串内容,建议使用字符串缓冲类(StringBuffer);
StringBuffer其实就是一个存储字符的容器
添加数据:
append();
public class Demo2{
public static void main(String[] args){
//使用StringBuffer无参的构造方法创建一个字符缓冲类
StringBuffer sb = new StringBuffer();
sb.append(java);
sb.append(java); }
}
StringBuffer底层是以来了一个字符数组才能存储字符数据的,该字符串数组默认的初始容量是16个字符
如果字符数组的长度不够使用时,自动增长一倍+2(一般都说一倍);