1. 程式人生 > >Java學習提要——String的基本方法

Java學習提要——String的基本方法

內容較多,寫一起主要是以後翻閱方便
基本格式不再重複寫,主要是介紹每個方法。

1.取出指定索引的字元

返回值 char
  String str = “hello”;
  // 取出指定索引的字元
  char c = str.charAt(0); //’0’即為索引值
  System.out.println(c);

2.字串與String轉換

返回值 char[]
  String str = “hello”;
  char data [] = str.toCharArray();
  for( int x=0 ; x < data.length ; x++){


   System.out.print(data[x]);
  }
  System.out.println();
  
返回值 String
  char [] data = {…….};
  String str = new String(data);

手動字元陣列大寫:
  String str = “hello”;
  char data [] = str.toCharArray();
  for( int x=0 ; x < data.length ; x++){
   data[x] -= 32 ;
  }
  System.out.println(new String(data));


  System.out.println(new String(data,1,2)); //從索引‘1’開始,2個長度,大寫輸出

3.比較

1)返回值 boolean
  String stra = “hello”;
  String strb = “hEllo”;
  //區分大小寫
  System.out.println(stra.equals(strb));
  //不區分大小寫
  System.out.println(stra.equalsIgnoreCase(strb));

2)返回值 int
  String stra = “hello”;
  String strb = “hEllo”;


  System.out.println(stra.compareTo(strb));
  //等於0,為相等
  //大於0.為a > b
  //小於0,為a < b
  //注意,該比較是根據ASC碼值,字母的大寫ASC值比小寫要小
  //如:返回-32,就是這個這兩個字母之間,相差32位,即後者是前者的小寫

4.查詢

1)返回值 int
  String str = “hello world”;
  //返回的是 索引值
  System.out.println(str.indexOf(“world”));
  System.out.println(str.indexOf(“l”,5));//從第五個開始查詢’l’
  System.out.println(str.lastIndexOf(“l”));//從後面開始查詢’l’
  System.out.println(str.indexOf(“aaa”)); //查詢不到就會返回 -1

2)返回值 boolean
  //返回的是 boolean
  System.out.println(str.contains(“world”));

5.開頭結尾判斷

返回值 boolean
  String str = “hello world”;
  //開頭與結尾 判斷
  String data = “##%%123**”;
  System.out.println(data.startsWith(“##”));
  System.out.println(data.startsWith(“%%”,2));//空兩個長度
  System.out.println(data.endsWith(“**”));

6.替換

返回值 String
  String str = "hello world";
  //替換
  System.out.println(str.replaceAll("l","%"));//全換
  System.out.println(str.replaceFirst(“l”,"%"));//替換首個

7.擷取

返回值 String
  String str = “hello world “;
  //擷取,不能從負數開始
  System.out.println(str.substring(3));//從索引處到末尾
  System.out.println(str.substring(0,5));//從startIndex開始,到endIndex,不包括endIndex

8.拆分

返回值 String[]
1)全部拆分
  String str = “hello world “;
  //全部拆分
  String res [] = str.split(” “);//空格拆分
  for(int x=0 ; x < res.length ; x++){
    System.out.println(res[x]);
  }
ps.若就兩個雙引號拆分(“”不是null),則會單個字元拆分
2)部分拆分
  String str = “hello world ni hao”;
  //部分拆分
  String res [] = str.split(” “,3);// 3 決定了拆分後陣列的數量,如此例,只會被分為3個數組
  for(int x=0 ; x < res.length ; x++){
    System.out.println(res[x]);
  }
ps.如果有一些敏感字元(正則表示式),拆分時,可以嘗試”\”來轉義

9.連線

返回值 String
  String str = “hello world “;
  //連線
  String data = str.concat(“ni hao”);
  System.out.println(data);

10.大小寫

返回值 String
  String str = “hello WORLD “;
  //大小寫
  System.out.println(str.toUpperCase());//輸出大寫
  System.out.println(str.toLowerCase());//輸出小寫

11.去空格

返回值 String
  String str = “hello WORLD    “;
  //去空格,後面加半個括號是為了清楚看到是否還有空格
  System.out.println(str+”)”);//沒去空格
  System.out.println(str.trim()+”)”);//去空格

12,取長度

返回值 int
  String str = “hello”;
  System.out.println(str.length());

13.判斷空

返回值 boolean
  String str = “hello “;
  //判斷空
  System.out.println(str.isEmpty());

14.入物件池

匿名例項化會自動如物件池

手工入池:
  String str = new String(“new”).intern();