StringBuilder
和StringBuffer
都是可变字符串,前者线程不安全,后者线程安全。StringBuilder
和StringBuffer
的大部分方法均调用父类AbstractStringBuilder
的实现。其扩容机制首先是把容量变为原来容量的2倍加2。最大容量是Integer.MAX_VALUE
,也就是0x7fffffff
。StringBuilder
和StringBuffer
的默认容量都是16,最好预先估计好字符串的大小避免扩容带来的时间消耗。StringBuilder
效率更快,因为它不需要加锁,不具备多线程安全而StringBuffer
则每次都需要判断锁,效率相对更低
Java StringBuilder和StringBuffer的异同
最新推荐文章于 2025-06-19 16:49:11 发布