簡單介紹StringBuffer以及StringBuffer與String的區別及簡單使用

String每次修改都會新建一個新的對象,再改變對象引用指向新的string對象,而且不會被Java垃圾回收機制回收
如下圖,當爲空的str獲得"ab"值後,id改變了,19=>26
在這裏插入圖片描述
修改前,
修改後
在這裏插入圖片描述
StringBuilder與StringBuffer則不一樣,改變再多次也不會產生新對象。
另一方面,StringBuffer中很多方法可以帶有synchronized關鍵字,所以可以保證線程是安全的,但StringBuilder的方法則沒有該關鍵字
總的來說:
速度 StringBuilder>StringBuffer>String
String每次修改都會新建一個新的對象,StringBuffer和StringBuffer不會
StringBuffer是一個線程安全的可變字符序列
StringBuilder是一個線程不安全的可變字符串
StringBuilder用作 StringBuffer 的一個簡易替換
String能夠初始化爲空,StringBuffer和StringBuffer會報錯

StringBuffer 與 StringBuffer 的換行

StringBuffer、StringBuilder使用append鏈接兩段字符,用System.getProperty(“line.separator”)代替\n換行,因爲除windows外其他操作系統不一定兼容\n的,所以用上述方式換行.如下圖代碼及輸出結果
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章