欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中StringBuffer和StringBuilder區(qū)別

 更新時(shí)間:2015年06月10日 10:02:17   投稿:junjie  
這篇文章主要介紹了Java中StringBuffer和StringBuilder區(qū)別,本文只介紹了它們之間的核心區(qū)別,需要的朋友可以參考下

早先用Java的時(shí)候,知道有個(gè)類叫StringBuffer,用來拼接較長的字符串。轉(zhuǎn)到C#之后,也有一個(gè)似類功能的類叫作StringBuilder,簡寫都是sb,非常好記。

再后來轉(zhuǎn)移回Java的時(shí)候,發(fā)現(xiàn)Java也有了StringBuilder,于是就好奇了一下為什么在StringBuffer之后又推出了StringBuilder。

原來Java的StringBuilder(和C#一樣)是非線程安全的,而早先的StringBuffer具有一定的線程安全屬性。當(dāng)然,推出StringBuilder,主要也是因?yàn)樗鼪]有必要在多線程的情況下使用。

常見的StringBuilder(或者StringBuffer)的用例是:

public String toString() {
 return new StringBuilder()
  .append("Name: " + name)
  .append("Foo: " + foo)
  .append("Bar: " + bar)
  .toString();
}

在這種情況下,StringBuilder都不是一個(gè)類成員,它只是一個(gè)局部變量,根本談不上多線程的問題。

于是,StringBuilder的引入帶來了非常大的性能提升,而且一點(diǎn)安全問題也沒有……

相關(guān)文章

最新評(píng)論