Terry.Li-彬

          虛其心,可解天下之問;專其心,可治天下之學;靜其心,可悟天下之理;恒其心,可成天下之業。

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            143 隨筆 :: 344 文章 :: 130 評論 :: 0 Trackbacks
          描述:在實際應用中,經常回遇到對字符串進行動態修改。這時候,String類的功能受到限制,而StringBuffer類可以完成字符串的動態添加、插入和替換等操作。

          1、構造函數。
            StringBuffer() :構造一個沒有任何字符的StringBuffer類。
            StringBuffer(int length) : :構造一個沒有任何字符的StringBuffer類,并且,其長度為length。
            StringBuffer(String str) :以str為初始值構造一個StringBuffer類。


          2、方法。
          說明:
          1. 所有方法均為public;
          2. 書寫格式:[修飾符] <返回類型> <方法名([參數列表])>

          如:
          static int parseInt(String s) 表示:此方法(parseInt)為類方法(static),返回類型為(int),方法所需參數為String類型。


            1. StringBuffer append(boolean b)
            2. StringBuffer append(char c)
            3. StringBuffer append(char[] str)
            4. StringBuffer append(char[] str, int offset, int len)
            5. StringBuffer append(double d)
            6. StringBuffer append(float f)
            7. StringBuffer append(int i)
            8. StringBuffer append(long l)
            9. StringBuffer append(Object obj)
            10. StringBuffer append(String str)
            11. StringBuffer append(StringBuffer sb)
            以上的方法都是向字符串緩沖區“追加”元素,但是,這個“元素”參數可以是布爾量、字符、字符數組、雙精度數、浮點數、整型數、長整型數對象類型的字符串、字符串和StringBuffer類等。如果添加的字符超出了字符串緩沖區的長度,Java將自動進行擴充。

          代碼:
                String question = new String("1+1=");
                int answer = 3;
                boolean result = (1+1==3);
                
                StringBuffer sb = new StringBuffer();
                sb.append(question);
                sb.append(answer);
                sb.append('"t');
                sb.append(result);
                
                System.out.println(sb);
          結果為:
          1+1=3   false

            12. int capacity() :返回當前StringBuffer對象(字符串緩沖區)的總空間,而非字符號串的長度。
            13. char charAt(int index) :在當前StringBuffer對象中取索引號為index的字符。第一個字符的索引為“0”
            14. StringBuffer delete(int start, int end) :刪除當前StringBuffer對象中以索引號start開始,到end結束的子串。
            15. StringBuffer deleteCharAt(int index) :刪除當前StringBuffer對象中索引號為index的字符。
            16. void ensureCapacity(int minimumCapacity) :重新設置字符號串緩沖區的總空間。如果minimumCapacity大于當前的總空間,則新的空間被設置:一種結果是 minimumCapacity;另一種結果是{“老空間”乘2加2}。

          代碼:
                StringBuffer sb1 = new StringBuffer(5);
                StringBuffer sb2 = new StringBuffer(5);
                
                sb1.ensureCapacity(6);
                sb2.ensureCapacity(100);
                
                System.out.println( "sb1.Capacity: " + sb1.capacity() );
                System.out.println( "sb2.Capacity: " + sb2.capacity() );
          結果為:
          sb1.Capacity: 12
          sb2.Capacity: 100

            17. void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) :從當前StringBuffer對象的索引號srcBegin開始,到srcEnd結束的子串,賦值到字符數組dst中,并且從dst的索引號 dstBegin開始。

          代碼:
                StringBuffer sb = new StringBuffer("I love her!");
                char[] i = {'I',' ','l','o','v','e',' ','y','o','u'};
                
                sb.getChars(7,10,i,7);
                
                System.out.println( "sb: " + sb );
          結果為:sb: I love her!

            18. int indexOf(String str) :返回當前StringBuffer對象中,第一個滿足str子串的位置。
            19. int indexOf(String str, int fromIndex) :從當前StringBuffer對象的fromIndex開始查找,返回第一個滿足str子串的位置。
            20. StringBuffer insert(int offset, boolean b)
            21. StringBuffer insert(int offset, char c)
            22. StringBuffer insert(int offset, char[] str)
            23. StringBuffer insert(int index, char[] str, int offset, int len)
            24. StringBuffer insert(int offset, double d)
            25. StringBuffer insert(int offset, float f)
            26. StringBuffer insert(int offset, int i)
            27. StringBuffer insert(int offset, long l)
            28. StringBuffer insert(int offset, Object obj)
            29. StringBuffer insert(int offset, String str)
            以上的方法都是在當前StringBuffer對象中插入一個元素,在索引號offset處插入相應的值。
            30. int lastIndexOf(String str) :返回當前StringBuffer對象中,最后一個滿足str子串的位置。
            31. int lastIndexOf(String str, int fromIndex) :從當前StringBuffer對象的fromIndex開始查找,返回最后一個滿足str子串的位置。
            32. int length() :返回當前StringBuffer對象(字符緩沖區)中,字符串的長度。注意:此方法與capacity() 不同。
            33. StringBuffer replace(int start, int end, String str) :替換當前StringBuffer對象的字符串。從start開始,到end結束的位置替換成str。
            34. StringBuffer reverse() :將字符串翻轉。

          代碼:
                StringBuffer sb = new StringBuffer("0123456789");
                System.out.println( "sb.reverse(): " + sb.reverse() );
          結果為:sb.reverse(): 9876543210

            35. void setCharAt(int index, char ch) :設置索引號index的字符為ch。
            36. void setLength(int newLength) :重新設置字符串緩沖區中字符串的長度,如果newLength小于當前的字符串長度,將截去多余的字符。

          代碼:
                StringBuffer sb = new StringBuffer("0123456789");
                sb.setLength(5);
                System.out.println( "sb: " + sb );
          結果為:sb: 01234

            37. String substring(int start) :取當前StringBuffer對象中,從start開始到結尾的子串。
            38. String substring(int start, int end) :取當前StringBuffer對象中,從start開始到end的子串。
            39. String toString() :將當前StringBuffer對象轉換成String對象。
          posted on 2008-02-13 23:07 禮物 閱讀(397) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 凤庆县| 闽侯县| 剑河县| 舞阳县| 阿坝县| 饶平县| 土默特右旗| 禄丰县| 威信县| 北宁市| 泸水县| 望城县| 木里| 介休市| 涪陵区| 华阴市| 敦煌市| 平阳县| 东光县| 抚顺市| 塘沽区| 沙湾县| 得荣县| 惠州市| 舟山市| 乐清市| 海城市| 黄平县| 桦川县| 汉中市| 蛟河市| 金沙县| 大埔区| 礼泉县| 获嘉县| 三亚市| 通州区| 汤阴县| 鄄城县| 黔西县| 华阴市|