回覆列表
  • 1 # 使用者8504024020264

    可以用資料告訴我們,String和StringBuilder、StringBuffer之間的效能差距了,所以如果字串有變更,都用StringBuilder和StringBuffer,而不是用簡單粗暴的賦值操作,另外就是,上面可以看出,String的concat效能也明顯優於直接拼接。

    關於StringBuilder和StringBuffer

    這兩個操作可變字串的類,都實現了AbstractStringBuilder抽象類,介面也幾乎一樣,他的最大區別是:StringBuffer基本所有方法都做了同步,而StringBuilder沒有,換言之,StringBuffer是執行緒安全的,StringBuilder不是。所以這兩個就根據不同的場景做取捨就ok。

    謝謝@assiwe提醒,由於編譯器本身對String做了足夠多的最佳化,對於簡單的String操作,String不比StringBuilder差,因為本身開銷都很少,這種時候苛求效能就沒太多意義了,只有在我們對String操作的效能敏感的時候,才需要關注他們之間的效能差異,用的時候,要做到心裡有數,明白為什麼用這個而不用另一個。

  • 中秋節和大豐收的關聯?
  • “女士”的英文是什麼?