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

Java中StringBuffer和StringBuilder區(qū)別

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

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

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

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

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

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

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

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

相關(guān)文章

最新評(píng)論