String 是不可變類崇堰,String對(duì)象一旦被創(chuàng)建,其值將不能被改變阻逮。
StringBuffer是可變類象迎,當(dāng)對(duì)象被創(chuàng)建后,仍然可以對(duì)其值進(jìn)行修改洪规。
什么時(shí)候使用 String?
由于 String 是可變類,因此蹄胰,適合在需要被共享的場(chǎng)合中使用,而當(dāng)一個(gè)字符串常常需要被修改時(shí)奕翔,最好使用 StringBuffer 來(lái)實(shí)現(xiàn)裕寨。如果使用 StringBuffer 多了很多附加的操作,同時(shí)會(huì)生成很多無(wú)用的對(duì)象派继,由于這些無(wú)用的對(duì)象會(huì)被垃圾回收器回收宾袜,所以會(huì)影響程序的性能。在規(guī)模小的項(xiàng)目中這種影響很小驾窟,但是在一個(gè)規(guī)模大的項(xiàng)目中庆猫,這會(huì)給程序的運(yùn)行效率帶來(lái)很大的負(fù)面影響。
StringBuilder 類不是線程安全的绅络。如果不是多線程的程序月培,可以使用StringBuilder,效率更高恩急。