String、StringBuffer、StringBuilder講解

1、String是不可變字符序列,因爲源碼處用final定義了一個char數組,做比較時用equals方法

//(1)charAt提取下標爲(n)的字符
s1 = “abcdef”
s1.charAt(3);//=>打印出d

//(2)indexOf()字符串中是否包含該字符,返回第一個匹配到的位置,找不到返回-1
s1.indexOf("c")//=>打印出2

//(3)replace
String s = s1.replace('a', '1');//將s1中的a替換成1,返回新的字符串,原字符串不變。

//(4)判斷開頭結尾
s1.startsWith("How");//是否以How開頭
s1.endsWith("you");//是否以you結尾

//(5)判斷字符長度
s1.length()//判斷字符長度

//(6)截取字符串
s = s1.substring(4);//提取子字符串:從下標爲4的開始到字符串結尾爲止
s = s1.substring(4, 7);//提取子字符串:下標[4, 7) 不包括7

//(7)轉大小寫
s = s1.toLowerCase();//轉小寫
s = s1.toUpperCase();//轉大寫

//(8)去除字符串首尾的空格
s = s2.trim();//去除字符串首尾的空格。注意:中間的空格不能去除,可用替換去除全部

2、StringBuffer和StringBuilder
StringBuffer和StringBuilder是可變字符序列
StringBuffer線程安全, 效率較低。
StringBuilder線程不安全,效率較高。 (一般使用這個)

//(1)追加
StringBuilder s2 = new StringBuilder();
s2 .append('bc');//追加字符

//(2)插入
sb2.insert(0, "a")//插入字符串。可以鏈式調用,核心就是調用了return this;把自己返回了。

//(3)逆序
sb2.reverse();//字符串逆序

//(4)刪除
sb2.delete(0, 2);//刪除0-2區間
sb2.deleteCharAt(0)//刪除某個字符

//(5)替換
sb2.setCharAt(0,"1")//替換索引0除的字符
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章