1. 程式人生 > >String 字串詳解 / 常用API

String 字串詳解 / 常用API

String 詳解 / 常用API

簡介

  String 是不可改變的字串序列。String 為字串常量

  StringBuilder 與StringBuffer 均為可改變的字串序列。為字串變數

    StringBuilder 是非執行緒安全的 (JDK 1.5)

    StringBuffer 是執行緒安全的 (JDK 1.0)

  總結:  

    String : 適用於少量的字串操作的情況

    StringBuilder : 適用於單執行緒下在字元緩衝區進行大量操作的情況

    StringBuffer : 適用於多執行緒下載字元緩衝區進行大量操作的情況

 

String API 詳解

  判斷

    判斷內容是否相同

    •     boolean equals()   對字串進行判斷,是否內容相同
    •     boolean equalsIgnoreCase()   對字串進行判斷,忽略大小寫

     判斷字串是否以某個字元開頭或結尾

    •     boolean startsWith(String prefix)   判斷字串是否以指定字元開頭
    •     boolean startsWith(String prefix, int toffset
      )  判斷指定字串從指定索引開始,是否以指定的字元開頭
    •     Boolean endsWith(String suffix)   判斷字串是否以指定字元結尾

  獲取

    長度

    •     int  length()   獲取字串的長度

    角標

    •      int  indexOf()   獲取開始時的索引

    示例:

 1         // 定義字串,
 2         String str1 = "1-2-3-QWE";
3 /** 4 * indexOf(int ch) 獲取字元第一次出現的索引 5 * 列印結果 : 1 6 */ 7 System.out.println(str1.indexOf("-")); 8 9 /** 10 * indexOf(int ch, int fromIndex) 11 * 獲取字元第一次出現的索引,從指定索引開始搜尋 12 * 列印結果 : 3 13 */ 14 System.out.println(str1.indexOf("-", 2)); 15 16 /** 17 * indexOf(String str, int fromIndex) 18 * 獲取str3字串str1字串中的索引 19 * 列印結果 : 6 20 */ 21 String str3 = "QW"; 22 System.out.println(str1.indexOf(str3, 0));
indexOf
    •               int  lastIndexOf(int ch)   獲取字串最後出現的的索引
    •      int  lastIndexOf(String str)  獲取指定子字串在該字串中出現的的索引
    •      int  lastIndexOf(String str, int fromIndex)  獲取指定子字串在該字串中最後出現的的索引

 

  獲取字串指定索引的字元

    •     char charAt(int index)   返回字串指定索引的值

  其他型別換成字串

    •      String valueOf()  返回某種型別引數的字串形式

     示例:

1         // 定義變數i
2         int i = 123;
3         // 返回整數型別的字串格式。即把整型轉換成字串格式
4         System.out.println(String.valueOf(i));
valueOf

       去空格

    • String trim()   去除字串兩端空格

    示例:

1         // 定義字串,兩端帶空格
2         String str1 = "  123qwe  ";
3         // 呼叫trim 去除字串兩端空格
4         // 列印結果 : 123qwe
5         System.out.println(str1.trim());
trim

 

   擷取字串

    •     String subString(int beginIndex)  根據規則,擷取字串

     示例:

 1 // 定義字串,兩端帶空格
 2         String str1 = "1-2-3-QWE";
 3         /**
 4          * String substring(int beginIndex) 
 5          * 擷取字串,擷取從索引開始之後的字串
 6          * (包含索引)
 7          *  列印結果 : 2-3-QWE
 8          */
 9         System.out.println(str1.substring(2));
10 
11         /**
12          * String substring(int beginIndex, int endIndex) 
13          * 擷取字串,擷取從索引開始到後一個索引的字串
14          * (包含前索引,不包含後索引)
15          *  列印結果 : 2-
16          */
17         System.out.println(str1.substring(2, 4));
subString

  拆分字串

    •     String[] split(String regex)   根據規則,拆分字串

    示例:

 1 // 定義字串,兩端帶空格
 2         String str1 = "1-2-3-QWE";
 3         /**
 4          * split(String regex) 根據指定規則拆分字串
 5          * 列印結果 : [1, 2, 3, QWE]
 6          */
 7         String[] str = str1.split("-");
 8         System.out.println(Arrays.toString(str));
 9         /**
10          * split(String regex, int limit) 
11          * 根據指定規則,將字串拆分成幾個字串
12          * 列印結果 : [1, 2, 3-QWE]
13          */
14         String[] split = str1.split("-", 3);
15         System.out.println(Arrays.toString(split));
split

  替換字串中的字元

    •     String replace(char oldChar, char newChar)   根據規則,替換字元

    示例:

1         // 定義字串,兩端帶空格
2         String str1 = "1-2-3-QWE";
3         /**
4          * replace(char oldChar, char newChar)
5          * 根據指定規則,替換字串中的字元。
6          * 列印結果 :1*2*3*QWE
7          */
8         System.out.println(str1.replace("-", "*"));
replace

  轉換

    將字串轉換成陣列

    •     char[] toCharArray()   將字串轉換成一個新的字元陣列

    示例:

1 // 定義字串,兩端帶空格
2         String str1 = "  123QWE  ";
3         // 呼叫toCharArray() 將字串中的字元,轉換成大寫
4         System.out.println(str1.trim().toCharArray());
toCharArray

    字串的大小寫轉換

    •     String toUpperCase()   將字串所有字元轉換成大寫

    示例:

1         // 定義字串,兩端帶空格
2         String str1 = "  123qwe  ";
3         // 呼叫toUpperCase 將字串中的字元,轉換成大寫
4         System.out.println(str1.toUpperCase());
toUpperCase
    •      String toLowerCase()   將字串中的所有字元轉換成小寫

    示例:

1         // 定義字串,兩端帶空格
2         String str1 = "  123QWE  ";
3         // 呼叫toLowerCase() 將字串中的字元,轉換成大寫
4         System.out.println(str1.toLowerCase());
toLowerCase