字符串是敞亮,它们的值在创建之后不能更改
字符串的内容一旦发生了变化,那么马上回创建一个新的对象
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(一般都说一倍);