Java中的字符串也是一連串的字符。可是與許多其餘的計算機語言將字符串做爲字符數組處理不一樣,Java將字符串做爲String類型對象來處理。將字符串做爲內置的對象處理容許Java提供十分豐富的功能特性以方便處理字符串。下面是一些使用頻率比較高的函數及其相關說明。html
substring()
它有兩種形式,第一種是:String substring(int startIndex)
第二種是:String substring(int startIndex,int endIndex)數組
concat() 鏈接兩個字符串app
replace() 替換
它有兩種形式,第一種形式用一個字符在調用字符串中全部出現某個字符的地方進行替換,形式以下:
String replace(char original,char replacement)
例如:String s=」Hello」.replace(’l',’w');
第二種形式是用一個字符序列替換另外一個字符序列,形式以下:
String replace(CharSequence original,CharSequence replacement)函數
trim() 去掉起始和結尾的空格post
valueOf() 轉換爲字符串this
toLowerCase() 轉換爲小寫url
toUpperCase() 轉換爲大寫htm
length() 取得字符串的長度
例:
char chars[]={’a',’b’.’c'};
String s=new String(chars);
int len=s.length();對象
charAt() 截取一個字符
例:
char ch;
ch=」abc」.charAt(1);
返回值爲’b’blog
getChars() 截取多個字符
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
sourceStart 指定了子串開始字符的下標
sourceEnd 指定了子串結束後的下一個字符的下標。所以,子串包含從sourceStart到sourceEnd-1的字符。
target 指定接收字符的數組
targetStart target中開始複製子串的下標值
例:
String s=」this is a demo of the getChars method.」;
char buf[]=new char[20];
s.getChars(10,14,buf,0);
getBytes()
替代getChars()的一種方法是將字符存儲在字節數組中,該方法即getBytes()
例:
String s = 「Hello!你好!」;
byte[] bytes = s.getBytes();
toCharArray()
例:
String s = 「Hello!你好!」;
char[] ss = s.toCharArray();
equals()和equalsIgnoreCase() 比較兩個字符串
regionMatches() 用於比較一個字符串中特定區域與另外一特定區域,它有一個重載的形式容許在比較中忽略大小寫。
boolean regionMatches(int startIndex,String str2,int
str2StartIndex,int numChars)
boolean regionMatches(boolean ignoreCase,int startIndex,String
str2,int str2StartIndex,int numChars)
startsWith()和endsWith()
startsWith()方法決定是否以特定字符串開始,endWith()方法決定是否以特定字符串結束
equals()和==
equals()方法比較字符串對象中的字符,==運算符比較兩個對象是否引用同一實例。
例:String s1=」Hello」;
String s2=new String(s1);
s1.eauals(s2); //true
s1==s2;//false
compareTo()和compareToIgnoreCase() 比較字符串
indexOf()和lastIndexOf()
indexOf() 查找字符或者子串第一次出現的地方。
lastIndexOf() 查找字符或者子串是後一次出現的地方。
StringBuffer構造函數
StringBuffer定義了三個構造函數:
StringBuffer()
StringBuffer(int size)
StringBuffer(String str)
StringBuffer(CharSequence chars)
下面是StringBuffer相關的函數:
length()和capacity()
一個StringBuffer當前長度可經過length()方法獲得,而整個可分配空間經過capacity()方法獲得。
ensureCapacity() 設置緩衝區的大小
void ensureCapacity(int capacity)
setLength() 設置緩衝區的長度
void setLength(int len)
charAt()和setCharAt()
char charAt(int where)
void setCharAt(int where,char ch)
getChars()
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
append() 可把任何類型數據的字符串表示鏈接到調用的StringBuffer對象的末尾。
例:int a=42;
StringBuffer sb=new StringBuffer(40);
String s=sb.append(」a=」).append(a).append(」!」).toString();
insert() 插入字符串
StringBuffer insert(int index,String str)
StringBuffer insert(int index,char ch)
StringBuffer insert(int index,Object obj)
index指定將字符串插入到StringBuffer對象中的位置的下標。
reverse() 顛倒StringBuffer對象中的字符
StringBuffer reverse()
delete()和deleteCharAt() 刪除字符
StringBuffer delete(int startIndex,int endIndex)
StringBuffer deleteCharAt(int loc)
replace() 替換
StringBuffer replace(int startIndex,int endIndex,String str)
substring() 截取子串String substring(int startIndex)String substring(int startIndex,int endIndex)