1. 程式人生 > >StringBuffer類以及它的方法

StringBuffer類以及它的方法

在學習String類時,API中說字串緩衝區支援可變的字串,什麼是字串緩衝區呢?接下來我們來研究下字串緩衝區。

查閱StringBuffer的API,StringBuffer又稱為可變字元序列,它是一個類似於 String 的字串緩衝區,通過某些方法呼叫可以改變該序列的長度和內容。

原來StringBuffer是個字串的緩衝區,即就是它是一個容器,容器中可以裝很多字串。並且能夠對其中的字串進行各種操作。

StringBuffer類的方法
        * a: 方法介紹
            * StringBuffer append(), 將任意型別的資料,新增緩衝區
                *  append 返回值,寫return this
                *  呼叫者是誰,返回值就是誰
            * delete(int start,int end): 刪除緩衝區中字元
                *  開始索引包含,結尾索引不包含
            * insert(int index, 任意型別): 將任意型別資料,插入到緩衝區的指定索引上
            * replace(int start,int end, String str): 將指定的索引範圍內的所有字元,替換成新的字串
            * reverse(): 將緩衝區中的字元反轉
            * String toString(): 繼承Object,重寫toString()
                *   將緩衝區中的所有字元,變成字串
        * b: 案例程式碼

 public class StringBufferDemo {
                public static void main(String[] args) {
                    function_5();
                }
                /*
                 *  StringBuffer類的方法
                 *   String toString() 繼承Object,重寫toString()
                 *   將緩衝區中的所有字元,變成字串
                 */
                public static void function_5(){
                    StringBuffer buffer = new StringBuffer();
                    buffer.append("abcdef");
                    buffer.append(12345);
                    
                    //將可變的字串緩衝區物件,變成了不可變String物件
                    String s = buffer.toString();
                    System.out.println(s);
                }
                
                /*
                 *  StringBuffer類的方法
                 *    reverse() 將緩衝區中的字元反轉
                 */
                public static void function_4(){
                    StringBuffer buffer = new StringBuffer();
                    buffer.append("abcdef");
                    
                    buffer.reverse();
                    
                    System.out.println(buffer);
                }
                
                /*
                 *  StringBuffer類方法
                 *    replace(int start,int end, String str)
                 *    將指定的索引範圍內的所有字元,替換成新的字串
                 */
                public static void function_3(){
                    StringBuffer buffer = new StringBuffer();
                    buffer.append("abcdef");
                    
                    buffer.replace(1, 4, "Q");
                    
                    System.out.println(buffer);
                }
                
                /*
                 *  StringBuffer類方法 insert
                 *    insert(int index, 任意型別)
                 *  將任意型別資料,插入到緩衝區的指定索引上
                 */
                 public static void function_2(){
                     StringBuffer buffer = new StringBuffer();
                     buffer.append("abcdef");     
                     
                     buffer.insert(3, 9.5);
                     System.out.println(buffer);
                 }
                
                /*
                 * StringBuffer類方法
                 *   delete(int start,int end) 刪除緩衝區中字元
                 *   開始索引包含,結尾索引不包含
                 */
                public static void function_1(){
                    StringBuffer buffer = new StringBuffer();
                    buffer.append("abcdef");
                    
                    buffer.delete(1,5);
                    System.out.println(buffer);
                }
                
                /*
                 *  StringBuffer類方法
                 *   StringBuffer append, 將任意型別的資料,新增緩衝區
                 *   append 返回值,寫return this
                 *   呼叫者是誰,返回值就是誰
                 */
                public static void function(){
                    StringBuffer buffer = new StringBuffer();
                    //呼叫StringBuffer方法append向緩衝區追加內容
                    buffer.append(6).append(false).append('a').append(1.5);
                    System.out.println(buffer);
                }
            }