1.String
在jdk9之前底层是加了final的char数组
jdk9之后是byte数组,因为Latin-1字符只需要1个字节就够了,用两个就浪费了
2.StringBuffer与StringBuilder都继承AbstractStringBuilder,区别在于
StringBuffer是线程安全的,StringBuilder是不安全的
3.每次对String变量进行修改时都会生成一个新的对象,然后在指向新的对象
所以效率比较低,StringBuffer与StringBuilder都是在自身进行修改的,效率都
比直接修改String高
适用情况
1.操作少量的数据:String
2.单线程操作字符串缓存区用StringBuilder(因为其线程不安全,适合在单线程下
操作)
3.多线程下用StringBuffer,其线程是安全的,可以放心使用
String,StringBuffer,StringBuilder
最新推荐文章于 2022-09-26 10:15:12 发布