String,StringBuffer,Stringbuilder的用法
String類的常用方法
1.獲取:
1)獲取字串str長度
int i = str.length();
2)根據位置(index)獲取字元
char c = str.charAt(index);
3)獲取字元在字串中的位置
int i =str.indexOf(char ch); //獲取的是第一次出現的位置
int i =str.indexOf(char ch ,int index); //從位置index後獲取ch出現的第一次的位置
int i =str.indexOf(str1) ;// 獲取str1 在str 第一次出現的位置
int i=str.indexOf(str1, index0);//獲取從index位置後str第一次出現的位置
int i = str.lastIndexOf(ch或者 str1) //獲取ch或者str1最後出現的位置
2.判斷
1)判斷是否以指定字串str1開頭、結尾
boolean b = str.startWith(str1) //開頭
boolean b = str.endsWith(str1) //結尾
2)判斷是否包含某一子串
boolean b = str.contains(str1)
3)判斷字串是否有內容
boolean b = str.isEmpty();
4)忽略大小寫判斷字串是否相同
boolean b = str.equalsIgnoreCase(str1);
3.轉換
1)將字元陣列 -char[] ch- 轉化成字串
i. String str =new String(ch); //將整個陣列變成字串
ii. String str =new String(ch,offset,count)
//將字元陣列中的offset位置之後的count個元素轉換成字串
1. String str =String.valueOf(ch);
2. String str =String.copyValueOf(ch,offset,count);
3. String str =String.copyValueOf(ch);
2)將字串轉化為字元陣列
char[] ch = str.toCharAarray();
3)將位元組陣列轉換為字串
同上1) 傳入型別變為Byte[];
4)將字串轉換為位元組陣列
Byte[] b = str.toByteArray();
5)將基本資料型別裝換成字串
String str = String.valueOf(基本資料型別資料);
若是整形資料可以用 字串連線符 + ""
eg : String str = 5+"";
得到字串 “5”
4.替換 replace();
str.replace(oldchar,newchar)//將str裡oldchar變為newchar
str.replace(str1,str2)//將str中str1,變為str2
5.切割 split();
String[] str1 = str.split(","); //將str用 ","分割成String陣列
6.子串
String s = str.substring(begin);
// s 為 str 從begin位置到最後的字串
String s = str.substring(begin,end)
//s 是 str 從begin 位置到end 位置的字串
7.轉換大小寫:
String s1 = str. toUpperCase(); //將str變成大寫字母
String s2 = str. toLowerCase(); //將str變成小寫字母
除去空格:
String s =str.trim();
比較:
int i = str.compareTo(str1);
二、 StringBuffer常用方法
/***StringBuffer 是一個容器,長度可變,可以直接操作字串,用toString方法變為字串 **/
1.儲存
1)append(); //將指定資料加在容器末尾,返回值也是StringBuffer
eg:
StringBuffer sb = new StringBuffer(//可以加str);
StringBuffer sb1=ab.append(資料) //資料可以任何基本資料型別
注:此時sb == sb1他們是同一物件,意思是可以不用新建sb1直接 sb.append(資料) 使用時之後接使用sb
2)insert();// 插入
sb.insert(index ,資料);
2.刪除
sb.delete(start ,end); //刪除start到end的字元內容
//注意:這裡的所有包含index的操作都是含頭不含尾的
sb.deleteCharAt(index);//刪除指定位置的字元
//清空StringBuffer緩衝區
sb=new StringBuffer();
sb.delete(0,sb.length())
3.獲取
char c = sb.charAt(index);//獲取index上的字元
int i = sb.indexOf(char)://獲取char字元出現的第一次位置
//與 String 中的獲取方法一致參考前面
4.修改 String類中無次操作方法
sb =sb.replace(start,end,string)//將從start開始到end的字串替換為string;
sb.setCharAr(index ,char);//將index位置的字元變為新的char
5.反轉 sb.reverse();//將sb倒序
6. getChars(int srcBegin,int srcEnd,char[] ch,int chBegin)
//將StringBuffer緩衝區中的指定資料儲存到指定陣列中
三、StringBuilder
StringBuilder 和 StringBuffer 方法和功能完全一致只是一個是早期版本(StringBuffer)是執行緒安全的,由於發現利用多執行緒堆同一String資料操作的情況是很少的,為了提高效率idk1.5以後有StringBuilder 類。意思是多執行緒操作同一字串的時候用StringBuffer 安全,現在一般用StringBuilder