三者都是final, 不允许被继承
在本质都是char[]字符数组实现
String、StringBuffer与StringBuilder中,String是不可变对象,另外两个是可变的
StringBuilder 效率更快,因为它不需要加锁,不具备多线程安全
StringBuffer⾥⾯操作⽅法⽤synchronized ,效率相对更低,是线程安全的;
使⽤场景:
操作少量的数据⽤String,但是常改变内容且操作数据多情况下最好不要⽤ String ,
因为每次⽣成中间对象性能会降低
单线程下操作⼤量的字符串⽤StringBuilder,虽然线程不安全但是不影响
多线程下操作⼤量的字符串,且需要保证线程安全 则⽤StringBuffer
String、StringBuffer与StringBuilder的区别?分别在哪些场景下使⽤
最新推荐文章于 2022-04-15 13:44:20 发布