字符串不可变,它们的值在创建后不能被更改。
eg1:
String name="尼古拉斯";
String schoolName="程序员";
System.out.println(name+schoolName);//字符串拼接产生一个新的字符串
以上过程产生了3个字符串
eg2:
String name="尼古拉斯";
name="程序员";
以上过程产生了2个字符串,原来字符串的内容没有改变,只是将新的字符串赋值给了name
String对象的两种构造方法:
//传递一个字符数组,根据字符数组的内容再创建一个新的字符串对象
//应用场景:修改字符串的内容:abc→Qbc
//步骤:abc→{'a','b','c'}→{'Q','b','c'}→"Qbc"
char[] chs={'a','b','c'};
String s4=new String(chs);
System.out.println(s4);//abc
//传递一个字节数组,根据字节数组的内容再创建一个新的字符串对象
//应用场景:以后在网络当中传输的数据其实都是字节信息,我们一般要把字节信息进行转换,转成字符串,此时就要用到这个构造了
byte[] bytes={97,98,99,100};
String s5 = new String(bytes);
System.out.println(s5);//abcd