1. 程式人生 > >String,StringBuffer,Stringbuilder的用法

String,StringBuffer,Stringbuilder的用法

String類的常用方法

1.獲取:
        1)獲取字串str長度
                int i = str.length();
        2)根據位置(index)獲取字元
                char  c = str.charAt(index);
        3)獲取字元在字串中的位置
                int i =str.indexOf(char ch);  //獲取的是第一次出現的位置
                int i =str.indexOf(char ch ,int index);  //從位置index後獲取ch出現的第一次的位置
                int  i =str.indexOf(str1) ;// 獲取str1 在str 第一次出現的位置
                int i=str.indexOf(str1, index0);//獲取從index位置後str第一次出現的位置
                int i = str.lastIndexOf(ch或者 str1)  //獲取ch或者str1最後出現的位置

2.判斷
        1)判斷是否以指定字串str1開頭、結尾
                boolean b = str.startWith(str1)  //開頭
                boolean b = str.endsWith(str1) //結尾
        2)判斷是否包含某一子串
                boolean b = str.contains(str1)
        3)判斷字串是否有內容
                boolean b = str.isEmpty();
        4)忽略大小寫判斷字串是否相同
                boolean b = str.equalsIgnoreCase(str1);

3.轉換
        1)將字元陣列 -char[] ch- 轉化成字串
            i.  String str =new String(ch); //將整個陣列變成字串
            ii. String str =new String(ch,offset,count)
    //將字元陣列中的offset位置之後的count個元素轉換成字串  
            1. String str =String.valueOf(ch);
            2. String str =String.copyValueOf(ch,offset,count);
            3. String str =String.copyValueOf(ch);
        2)將字串轉化為字元陣列
            char[] ch = str.toCharAarray();
        3)將位元組陣列轉換為字串
            同上1) 傳入型別變為Byte[];
        4)將字串轉換為位元組陣列
            Byte[] b = str.toByteArray();
        5)將基本資料型別裝換成字串
            String str = String.valueOf(基本資料型別資料);
            若是整形資料可以用 字串連線符 + "" 
            eg :  String  str = 5+"";
            得到字串 “5”   

4.替換   replace();
        str.replace(oldchar,newchar)//將str裡oldchar變為newchar
        str.replace(str1,str2)//將str中str1,變為str2

5.切割   split();
        String[]  str1 = str.split(","); //將str用 ","分割成String陣列

6.子串
        String s = str.substring(begin);
        // s 為 str 從begin位置到最後的字串
        String s = str.substring(begin,end)
        //s 是 str 從begin 位置到end 位置的字串

7.轉換大小寫:
        String s1 = str. toUpperCase(); //將str變成大寫字母
        String s2 = str. toLowerCase(); //將str變成小寫字母
    除去空格:
        String s =str.trim();
    比較:
        int i = str.compareTo(str1);
二、 StringBuffer常用方法

    /***StringBuffer        是一個容器,長度可變,可以直接操作字串,用toString方法變為字串 **/
1.儲存
        1)append(); //將指定資料加在容器末尾,返回值也是StringBuffer
        eg:
        StringBuffer sb = new StringBuffer(//可以加str);
        StringBuffer sb1=ab.append(資料) //資料可以任何基本資料型別
    注:此時sb == sb1他們是同一物件,意思是可以不用新建sb1直接 sb.append(資料) 使用時之後接使用sb
2)insert();// 插入
    sb.insert(index ,資料);
2.刪除
        sb.delete(start ,end);  //刪除start到end的字元內容
//注意:這裡的所有包含index的操作都是含頭不含尾的
        sb.deleteCharAt(index);//刪除指定位置的字元
//清空StringBuffer緩衝區
        sb=new StringBuffer();
        sb.delete(0,sb.length())
3.獲取
    char c = sb.charAt(index);//獲取index上的字元
    int i = sb.indexOf(char)://獲取char字元出現的第一次位置
    //與 String 中的獲取方法一致參考前面

4.修改                  String類中無次操作方法
    sb =sb.replace(start,end,string)//將從start開始到end的字串替換為string;
    sb.setCharAr(index ,char);//將index位置的字元變為新的char

5.反轉     sb.reverse();//將sb倒序
6. getChars(int srcBegin,int srcEnd,char[] ch,int chBegin)
//將StringBuffer緩衝區中的指定資料儲存到指定陣列中
三、StringBuilder 
StringBuilder 和 StringBuffer 方法和功能完全一致只是一個是早期版本(StringBuffer)是執行緒安全的,由於發現利用多執行緒堆同一String資料操作的情況是很少的,為了提高效率idk1.5以後有StringBuilder 類。意思是多執行緒操作同一字串的時候用StringBuffer 安全,現在一般用StringBuilder