注:(未特殊說明,String變量起名S,int 起名a,b,char起名c)
參考JAVA核心技術,卷一
String
修改字符串 String a=“abcd”;
a=a.substring(0,1)+"pple";
substring(a)
substring(a,b) 從第a開始的b個字符 或者從a開始到結束
length(),返回長度
equals();判斷相等
str.length()=0; 等價於 str.equals("");
S1.equalsIgnoreCase(S2) 忽略大小寫的相等
S1.endsWith(String S2) 如果S1以S2結尾 返回true
S1.startsWith(String S2) 如果S1以S2開始 返回true
S1.compareTo(String S2) S1<S2返回負數
其他API:
String 的字符索引位置!=代碼點索引位置
S1.charAt(i)返回代碼點i的代碼單元,參考本文“其他”.1
S1.codePointAt(i) 返回第i個字符的代碼點
S1.offsetBycodePoints(a,b)返回從第a個代碼點,位移b的代碼點索引
S1.indexOf(S2)
S1.indexOf(S2,b) 從字符索引b開始計算,第一個與S2匹配的S1的位置(字符索引位置)
S1.indexOf(a)
S1.indexOf(a,b)從字符索引b開始計算,代碼點a的字符索引(?)需要測試
S1.lastIndexOf() 同上,最後一個子串。
S1.replace(oldString,newSting)用newString代替所有S1中的子串oldString
S1,codePointCount(a,b),計算代碼點索引a,b之間的代碼點數量。(邊緣值)
函數:S1.toLowerCase()
S1.toUpperCase()
S1.trim()
返回全小寫,全大寫,去空格的字符串
其他
1)String裏字符有些是一個字節,有些是兩個字節,因此遍歷的時候需要判斷字符所在代碼點的位置
2)String 變量可以存放null,表明目前該變量沒有與任何對象關聯(?)
StringBuilder
效率較高(應該是帶有額外緩存的String)不用連接字符串的時候額外創建String