1. 程式人生 > >String,StringBuilder,StringBuffer 的區別。

String,StringBuilder,StringBuffer 的區別。

    關於string每天我們都要接觸到的,但是說到這三個類,最主要的就是執行緒安全,和執行速度方面的。

1.首先咱們先說說執行速度,或者是執行速度,這方面的速度分別為 StringBuilder 是大於StringBuffer大於String 2.為什麼string是最慢的呀?可能有別的小盆友已經知道了,是的String是字串常量,而StringBuilder 和 StringBuffer都是字串變數,是可改變的物件,每當我們用它們對字串做操作時,實際上是在一個物件上做操作,不像是String一樣建立一些物件進行操作,所以這樣速度是比較快的。(因為是在物件上進行操作,而不是建立一個物件進行操作,所以這才是差距的根本)。 3.以及執行緒安全方面的問題,StringBuilder:執行緒非安全的,而StringBuffer是執行緒安全的,當我們在字串緩衝區被多個執行緒使用時,JVM不能保證StringBuilder的操作是安全的,雖然速度方面是最快的,但是可以保證StringBuffer是可以正確操作的,當然大多數的情況下就是我們在單執行緒下進行的操作,所以大多數情況下還是建議使用StringBuffer而不是,StringBuffer,對就是速度的原因。