Java String、StringBuilder、StringBuffer類
阿新 • • 發佈:2021-11-10
1.String類
- 建立字串物件後,字串物件不可以發生改變,並且這個字串物件儲存在方法區中的字串常量池中。
- 即使想改變字串物件,那麼也只是在字串常量池中重新建立了一個字串物件而已。
2.StringBuffer類
- 他的父類是AbstractStringBuilder
- 創鍵的字串在記憶體中為一個char型別的陣列,預設的長度是16。
- 建立的字串物件可以發生改變:
- 例如使用append()方法可以增加
- 使用這個方式增加的符串和String採用"+"號有什麼區別?
- String採用+號進行字串的拼接,但是相當於是重新建立了一個字串物件
- StringBuffer 採用append()方法進行增加,只是改變了字串物件的值,並沒有再重新建立一個的字串物件。
- StringBuilder採用append()方法進行增加,只是改變了字串物件的值,並沒有再重新建立一個的字串物件。
- StringBuffer類中的所有的方法都是前面帶有synchronized關鍵字(關鍵字的意思是“同步的”),執行緒安全
3.StringBuilder類
- 他的父類是AbstractStringBuilder
- 建立的字串在記憶體中為一個char型別的陣列,預設長度是16,這一點和StringBuffer是相同的
- StringBuilder類中的方法不帶有synchronized關鍵字,執行緒不安全
什麼時候用String呢?什麼時候用StringBuffer呢?什麼時候用StringBuilder呢?
本文來自部落格園,作者:程式設計師hg,轉載請註明原文連結:https://www.cnblogs.com/hg-blogs/p/15535995.html