概述
Java中使用String和StringBuffer類來處理字符串。
String類支持靜態(不變的)的字符串。StringBuffer類則支持可修改的字符串。
String和StringBuffer都支持16位的Unicode字符。
String類
用String類創建的字符串是隻讀的。
當使用“+”運算符將一些字符加到某String對象上時,結果產生了新的對象,而不是原來String對象的一個修改值。
使用==和equals()比較String的區別:
“==”比較對象是否相等
equals()方法比較對象的內容是否相同
String類的重要方法
- equals():比較兩字符串的內容是否相同,區分大小寫
- equalsIgnoreCase():不區分大小寫
- charAt():此方法返回字符串內位置在索引處的字符。第一個字符的位置是0,最後一個字符的位置是length()-1
- length():返回字符串中的字符數
- trim():此方法返回一個新String對象,它將調用的String對象中開頭和結尾的空白字符串切除掉。
- toLowerCase():返回一個新字符串,表示這個String的小寫形式
- toUpperCase():返回一個新字符串,表示這個String的大寫形式
- indexOf():此方法搜索某字符或子串的第一次出現的位置值。如果他不能找到字符或子串,那麼返回-1。否則,此方法返回子串所在的位置值。
- lastIndexOf():此方法搜索某字符或子串的最後一次出現的位置值
- subString():返回原字符串的子串。此方法有兩個版本:
subString(int beginIndex)
subString(int beginIndex,int endIndex) - toString()方法
任何類都有這個方法。
用來將一個對象轉換成String
用來將一個基本類型轉換成String
Object類定義缺省的toString()方法,它返回類名稱和它的引用的地址
許多類覆蓋toString()以提供更有用的信息
對於String來說,這個方法返回它自身。
StringBuffer類
Java通過聲明和操作StringBuffer類的對象來處理大部分字符串運算。
構造器:
StringBuffer():構造一個空的字符串緩衝區
StringBuffer(int length):構造具有指定初始長度的字符串緩衝區
StringBuffer(String initialString):根據初始字符串構造緩衝區
注意:StringBuffer類不是從String類繼承而來
StringBuffer類重要方法
append()
insert()
setCharAt()
reverse()
toString()
public class StringBufferTest {
public static void main(String args[]) {
StringBuffer strBuf = new StringBuffer("ABCDEFG");
strBuf.reverse(); //now strBuf is "GFEDCBA"
strBuf.reverse(); //now strBuf is "ABCDEFG"
strBuf.insert(2, "-"); //now strBuf is "AB-CDEFG"
strBuf.insert(5, "-"); //now strBuf is "AB-CD-EFG"
strBuf.insert(8, "-"); //now strBuf is "AB-CD-EF-G"
strBuf.setCharAt(2, '+'); //now strBuf is "AB+CD-EF-G" 替換"-"
strBuf.setCharAt(5, '+'); //now strBuf is "AB+CD+EF-G" 替換"-"
strBuf.setCharAt(8, '+'); //now strBuf is "AB+CD+EF+G" 替換"-"
//String str = strBuf.toString();
System.out.println(strBuf.toString());
}
}