firtre

          小螞蟻,定語沒想好。 精靈古怪,不是我。

          String、StringBulider和StringBuffer

          1 String 是不可變的(String對象具有只讀特性)
                  String對象實際上是不可變的。String類中每一個對String的操作其實都是新生成一個String對象。原來的String對象是沒有改變而且存在在物理內存上的。
                  特點:在傳遞參數的時候,參數是為方法提供信息而不希望本身被修改的。
          2 StringBuilder 對象是可變的
                  在通過追加、移除、替換或插入字符而創建它后可以對它的對象本身進行修改。
                  特點:可以避免頻煩地修改String而導致需要耗費大量內存存儲String對象(中間過程的String往往是無用的);但是在多線程的時候使用StringBuilder則是不安全的。建議使用StringBuffer 。
          3 StringBuffer 線程安全的可變字符序列
                  它是一個類似于 String的字符串緩沖區,但不能修改。雖然在任意時間點上它都包含某種特定的字符序列,但通過某些方法調用可以改變該序列的長度和內容。可將字符串緩沖區安全地用于多個線程。可以在必要時對這些方法進行同步,因此任意特定實例上的所有操作就好像是以串行順序發生的,該順序與所涉及的每個線程進行的方法調用順序一致。

          總結:
                  String :對象不可變。
                  StringBuilder:對象可變,速度快,但多線程不安全。
                  StringBuffer :對象可變,速度較StringBuilder慢,但多線程安全。

          posted on 2008-01-16 11:52 笨蛋 閱讀(344) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 太谷县| 黄山市| 湖南省| 永和县| 得荣县| 达拉特旗| 罗山县| 门头沟区| 内乡县| 濮阳县| 得荣县| 邻水| 南丹县| 青铜峡市| 双城市| 红桥区| 灵丘县| 博客| 阜康市| 临武县| 新野县| 望都县| 韩城市| 修水县| 大同市| 韶山市| 东至县| 托里县| 兴城市| 博白县| 论坛| 调兵山市| 织金县| 谢通门县| 饶阳县| 井冈山市| 邹城市| 乃东县| 东丽区| 迭部县| 灵台县|