Java中StringBuffer和StringBuilder差別。本站提示廣大學習愛好者:(Java中StringBuffer和StringBuilder差別)文章只能為提供參考,不一定能成為您想要的結果。以下是Java中StringBuffer和StringBuilder差別正文
起初用Java的時刻,曉得有個類叫StringBuffer,用來拼接較長的字符串。轉到C#以後,也有一個似類功效的類叫作StringBuilder,簡寫都是sb,異常好記。
再後來轉移回Java的時刻,發明Java也有了StringBuilder,因而就獵奇了一下為何在StringBuffer以後又推出了StringBuilder。
本來Java的StringBuilder(和C#一樣)長短線程平安的,而起初的StringBuffer具有必定的線程平安屬性。固然,推出StringBuilder,重要也是由於它沒有需要在多線程的情形下應用。
罕見的StringBuilder(或許StringBuffer)的用例是:
public String toString() { return new StringBuilder() .append("Name: " + name) .append("Foo: " + foo) .append("Bar: " + bar) .toString(); }
在這類情形下,StringBuilder都不是一個類成員,它只是一個部分變量,基本談不上多線程的成績。
因而,StringBuilder的引入帶來了異常年夜的機能晉升,並且一點平安成績也沒有……