StringBuilder和StringBuffer的異同

  • StringBuilderStringBuffer都是可變字符串,前者線程不安全,後者線程安全。
  • StringBuilderStringBuffer的大部分方法均調用父類AbstractStringBuilder的實現。其擴容機制首先是把容量變爲原來容量的2倍加2。最大容量是Integer.MAX_VALUE,也就是0x7fffffff
  • StringBuilderStringBuffer的默認容量都是16,最好預先估計好字符串的大小避免擴容帶來的時間消耗。
  • StringBuilder效率更快,因爲它不需要加鎖,不具備多線程安全而StringBuffer則每次都需要判斷鎖,效率相對更低
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章