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();