String類和StringBuffer,StringBuilder筆記

String類和StringBuffer,StringBuilder

1.String類是一個用來描述字符串的這麼一個類,用String類創建的字符串對象是一個常量,它們的值在創建後就不能更改。

//String類的創建方式:
String s1 = "abc";
String s = new String("abc");

2.StringBuffer和StringBuilder都是是字符串緩衝區,是一個容器,長度是可以變化的,通過某些方法調用可以改變該序列的長度和內容,可以自己操作多個數據類型,最終會通過toString方法輸出字符串。

StringBuffer和StringBuilder除了在線程上不同,其餘都幾乎一樣,StringBuffer是線程同步的,StringBuilder是線程不同步的,所以在線程需要同步的時候我們用StringBuffer,線程不需要同步的時候我們用StringBuilder,因爲StringBuilder的效率更高。

//StringBuffer和StringBuilder的創建方式:
StringBuffer = new StringBuffer ("abc");
StringBuilder= new StringBuilder ("abc");

3.操作String類的方法

//獲取:
    int     length();//獲取字符串的長度
    char        charAt(int index); //獲取參數位置的字符
    int     indexOf(int c(ASCII))//根據字符獲取位置
    int     indexOf(int c(ASCII),int c指定位置)//根據字符從指定位置開始獲取位置
    int     lastindexOf(int c)//反方向查找

//獲取子串中的一部分:
    String  subString(begin);//從bagin開始索引
    String  subString(begin,end); //從begin到end,含頭不含尾

//判斷:
    boolean     equalsIguoreCase();//不區分大小寫比較
    boolean     equals();//判斷兩個字符串的值是否一樣
    boolean     contains(str);//是否包含一個str子串
    boolean     isEmpty()//是否有內容
    boolean     startsWith(str);//是否以str開始
    boolean     endsWith(str);//是否以str 結尾

//轉換:
    //1 將字符數組轉成字符串:
        構造函數 String(char[])
               String(char[],offset,count);//將一部分轉成字符串

        靜態方法 static String copyValueOf(char[]);
                 static String copyValueOf(char[],offset,count);
                 static String valueOf(char[]);

    //2 將字符串轉換成字符數組:
     char[]      toCharArray();

    //3 將 字節數組 轉成 字符串
        String(byte[]);
        String(byte[],offset,count);

    //4 將 字符串 轉換成 字節數組
        byte[]  getBytes();

    //5 將 基本數據 類型轉換成 字符串
        static String valueOf(int);
        static String valueOf(double);
        //例:String.valueOf(3);
//替換:
    String replace(oldchar,newchar);

//切割:
    String[] split(切割符);

//轉換大小寫:
    String toUpperCase();
    String toLowerCase();

//將字符串兩端的空格去掉
    String  trim();

//對兩個字符進行自然排序的比較 
    int     str1.compareTo(str2);
    //返回值是爲0 兩個一樣
    //返回值爲正 str1大
    //返回值爲負 str2大

4.StringBuffer和StringBuilder的一些常用方法:

//1存儲
    StringBuffer append();//將指定數據作爲參數添加到結尾處
    StringBuffer insert(inext,數據);//添加到指定位置
//2 刪除
    StringBuffer delete(start,end)
    StringBuffer deleteCharAt(index);//刪除指定位置的字符
//3 獲取
     char   charAt(int index)//獲取index位置的字符
     int        indexOf(String str)//獲取字符串str的位置
     int        lastIndexOf(String str)//反向獲取str的位置
     int        length()//獲取長度
     String substring(int start,int end)//獲取start位置到end位置的子字符串
//4 修改
    替換 StringBuffer     replace(start,end,string)
    單個字符的替換void       setCharAt(int index.char ch)

//5 反轉
    StringBuffer reverse();

//6 將緩衝區中的 指定數據 存儲到 指定字符組 的指定位置
void getChars(int srcBegin,int srcEnd,char[]dst,int dstBegin);
//把緩衝區裏的字符串從srcbegin 到 srcEnd 存到 dst 的 dstbegin起始位置

5.String類和StringBuffer,StringBuilder的使用

操作一些不需要被需改的字符串時我們可以使用String類創建對象,如果是需要經常修改的話我們就用StringBuffer或StringBuilder,在線程需要同步的時候我們用StringBuffer,線程不需要同步的時候我們用StringBuilder,因爲StringBuilder的效率更高。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章