概述
String是被声明为final,不能被继承.内部使用char[]进行存储数据.
String不可变
- 存储hash值, 用String做HashMap的Key,使得hash值不可变
- String Pool, 如果使用的String对象已经创建过并未被销毁则改对象存在于String Pool中,节省空间
- 安全性, 天生线程安全
String, StringBuffer, String Builder
可变型
- String 不可变
- StringBuffer,StringBuilder 可变
线程安全
- String 天生线程安全
- StringBuilder 不是线程安全
- StringBuffer 线程安全, 使用synchronized同步
使用优先
- StringBuilder 使用String进行字符串整合拆分内部是使用StringBuilder的
String.intern()
- 保证使用同一个字符串的变量指向同一个String Pool中的内存对象