19.String類:
1>String類的構造方法:
· 利用字元串構造一個字元串對象:
String str = “HelloWorld”;
· 無參構造一個字元串對象:
String str = new String();
· 傳遞參數生成一個字元串對象:
String str = new String(“HelloWorld”);
· 由字元數組生成一個字元串對象:
String str = new String(char s[ ]);
· 由字元數組的一部分生成一個字元串對象:
String str = new String(char [ ]value, int offset,int count);
注:
· Value[]代表生成的字元串數組,offset代表字元串在數組中的起始位置,
count代表包含的字元個數。
· 使用雙引号得到的其實已經是一個String對象, 而new String(str)構造方法是對傳入的參數Str建立一個副本,
這樣其實是建立了兩個String對象。增加了性能開銷,不建議使 用該方法。
· 在java中字元串必須使用“”擴起來。
· String 是一個final類,代表不可變的字元序列。
· 當直接在程式中使用“”來建立一個字元串時,該字元串就會存儲于字元串成常量池中,
當再次使用“”建立一個字元串時會首 先查詢在常量池中是否已存在該字元串,如果已存在就無需再建立,
直接指向該字元串即可。
2>字元串對象操作:
· charAt() :傳回的是index+1位置的字元。
· equals和equalsIgnoreCase方法:
equals用來判斷兩個對象的内容是否相同;
equalsIgnoreCase用來判斷兩個對象的内容是否相同, 且忽略大小寫。
· compareTo和compareToIgnoreCase方法:
equals按詞典書序比較兩個字元串的大小; equalsIgnoreCase按詞典書序比較兩個字元串的大小,且忽略大小寫。
· intdexOf(String str)方法:
從字元串的頭開始檢索字元串str,并傳回首次出現str的
位置,如果未檢索到,傳回-1.
· intdexOf(String str,int stratPoint)方法:
從字元串的指定的位置開始檢索字元串str,并傳回首次出
現str的位置,如果未檢索到,傳回-1.
· lastIntdexOf(String str,int stratPoint)方法:
從字元串的指定的位置開始檢索字元串str,并傳回最後出 現str的位置,如果未檢索到,傳回-1.
· lastintdexOf(String str,int stratPoint)方法:
從字元串的指定的位置開始檢索字元串str,并傳回最後出現str的位置,如果未檢索到,傳回-1.
· startsWith、endsWith方法:
用來檢測字元串是否以指定的字首開始或結束。
· regionMatches方法:
文法:regionMatches(int firstStart,String otherString, intotherStart,int length)
注:從目前字元串的firstStart位置開始去指定長度為length的字元串,并将其與otherString字元串指定的字元串
比較經行比較。其中otherString指定的字元串從otherStart開始,長度為length。傳回結果為true或false。
· substring(int startPoint)方法:
從原字元串的startPoint開始到結尾截取一個子字元串。
· substring(int startPoint,int endPoint)方法:
從原字元串的startPoint開始到endPoint結束截取一個子字元串。
· replace(char oldchar,char newchar)方法:
用newchar替換原字元串中的所有oldchar。
· trim()方法:
去掉字元串前後的空格。
· concat():
将指定字元串連接配接到原字元串尾部。
· String []split(String regex)方法:
根據給定的正規表達式的比對來拆分字元串。
· getChars(int start,int end,char c[],int offset)方法:
将字元串中的字元複制到字元數組中,其中原字元串從
start開始到end結束中間的字元串複制到數組c[]中,并
從數組c的offset處開始存儲這些字元。需要注意的是c
數組必須确定能容下這些字元。
Split例子:
public class TestSplit {
public static void main(String[] args) {
// 建立一個字元數組
String[] fakeFileData =
{ "justin\t64/5/26\t0939002302\t5433343",
"momor\t68/7/23\t0939100391\t5432343" };
for (String data : fakeFileData) {
//将數組中的字元串以"\t"拆分存儲在新數組tokens中
String[] tokens = data.split("\t");
//輸出拆分後的數組
for (String token : tokens) {
System.out.print(token + "\t|");
}
System.out.println();
}
}
}
輸出結果為:
justin |64/5/26 |0939002302 |5433343 |
momor |68/7/23 |0939100391 |5432343 |