String :固定长度的字符串
由char和数组形成
有不可变性(例子: String a; a="111";)
多线程安全
有利于常量池中的数据的复用
连接效率低
适合操作少量数据和不操作
StringBuilder:变长字符串
由char和数组形成
可变
线程不安全
连接效率和StringBuffer一样高于String
适合操作大量数据,但是线程不安全
StringBuffer:变长字符串
由char 和数组组成
可变
线程安全
适用于考虑线程安全时使用
性能不如StringBuilder
StringBuffer和StringBuilder的默认初始容量是16,
可以提前预估好字符串的长度,进一步减少扩容带来的额外开销
本文探讨了字符串常量池复用、线程安全性和性能优劣的对比:String的不可变性,StringBuilder的高效连接,及StringBuffer的线程同步。适合操作场景和性能优化策略的选择指南。
1032

被折叠的 条评论
为什么被折叠?



