String 的特点:
1、String 被声明为 final 类,所以不能被jicheng;
2、String 类实现了 serializable 接口,所以字符串是支持序列化的;
3、String 类实现了 comparable 接口,所以字符串是可以比较大小的;
4、String 类内部定义了 final char[] value 用于存储字符串数据,所以 String 具有不可变的特性;
5、通过字面量的方式给字符串赋值,此时字符串的值声明在字符串常量池中;
6、字符串常亮池中不会存储相同内容的字符串;
String 对象的创建:
1、字面量赋值: String s1 = "hello" ; 数据是声明在字符串常量池中
2、new + 构造器:String s2 = new String("hello") ; 新开辟了堆空间
字符串的拼接:
1、字面量之间的拼接,如 “hello” + "world" ,是在字符串常量池中完成的,结果在字符串常量池中,且字符串常量池不能有相同内容的字符串;
2、 包含变量间的拼接,如 s = "hello" ; s + "world",结果是在堆空间中;
3、如果拼接的结果调用 intern() 方法,结果就返回字符串常量池中;