public String concat(String str)
返回一個字符串,內容是當前字符串與str連接而成的。
字符串連接可以簡化寫為String str = str1 + str2;結果與concat方法相同
public boolean startsWith(String str)
判斷當前字符串,是否以str開頭
public boolean endsWith(String str)
判斷當前字符串,是否以str結尾
String str = "I am " + "Lingo!";
這樣可以獲得一個內容為"I am Lingo!"的字符串,在Java裡可以通過這種簡單的方式實現字符串的連接
。這裡需要注意的是,這個過程實際上生成了三個String對象,"I am "和"Lingo!"先被生成,然後用他
們再創建一個String對象str,str的內容是兩者的總和。所以,使用+進行字符串連接的時候會很耗費資
源,這個時候就需要使用另一個類StringBuffer,它的內容是可以修改的,實際上jvm內部編譯之後,“
用+進行字符串連接”也是用StringBuffer實現的。
String str = "I am " + "Lingo!";
String str = new StringBuffer("I am ").append("Lingo!").toString();
上邊兩個是等價的。
StringBuffer類還提供了許多便利的方法,對字符串進行操作
public void reverse()
反轉字符串
public void append(...)
在字符串最後添加信息
public void insert(int start,...)
在索引位置插入信息
public void delete(int start,int end)
刪除指定范圍的內容
最後談一談split與replaceAll方法
public String[] split(String regex)
根據分隔符,把字符串切割成字符串數組
public String replace(String regex,String str)
把字符串中所有與regex匹配的部分都替換成str
regex代表“正則表達式”,如果你並不清楚它的原理,很可能會出現問題。
"1,3,4".split(",")返回的結果是{"1","3","4"}這三個字符串組成的數組
"1|3|4".split("|")返回的結果卻是{"1","|","3","|","4"}五個字符串組成的數組
這個問題的原因是由於在“正則表達式”中,“|”是一個有特殊含義的字符,表示“或”,直接使用split("|")就會把每個字符分開了。如果希望使用"|"作為分隔符,就需要使用轉義字符。
"1|3|4".split("\\|")返回的結果就是{"1","3","4"}三個字符串組成的數組了
“\|”是正則表達式中代表"|"的專一字符,但因為在String中“\”不能單獨出現,還需要進行一次轉義,就變成了“\\|”這種形式。
replaceAll(String regex,String str)也是這種情況。
本文來自編程入門網:http://www.bianceng.cn/Programming/Java/201105/26713_2.htm