<small>
1.StringBuilder 類
可變長字符串類型,經常修改 String 類型的引用值,建議使用這個
string→StringBulider
StringBulider sb=new StringBuilder( );//創(chuàng)建空字符串不是 null
String str1="我愛你中國"
StringBulider sb=new StringBuilder( str1);
String str2=sb.toString;
增 append(String subStr)
確實可以返回一個StringBulider,但是并不需要,StringBulider自身維護一個可變長度的字符序列,每當調用 append 方法時,就會根據 append 子串長度,對自身維護字符序列進行相應的擴容,然后將子串字符序列,依次寫入擴容后的 String
所以只要經過 append 方法,StringBulider原序列就已經發(fā)生了變化
StringBulider sb=new StringBulider("學號 java");
sb=sb.append(",走遍天下都不怕");//不好的寫法
sb.append(",走遍天下都不怕");//正確的寫法
System.out.println(sb);//學好 Java,走遍天下都不怕
刪delete(int startIndex,int endIndex)
也是前包括后不包括原則
sb.delete(7,15);//學號 Java,
sb.append("為了更好地工作")//學好 java,為了更好的工作!
改replace(int start,int end,String Str)
sb.replace(7,14,"為了改變世界");//學好 java,為了改變世界
插insert(int insertIndex, String subString)
在指定下標前,插入子串
sb.insert(7,"努力工作,");//學好 java,努力工作,為了改變世界!
2.StringBuffer :可變長字符串類型
與StringBulider一樣都有增刪改插等方法
兩者區(qū)別與聯(lián)系:
1、兩者在物理方法上,完全一模一樣
2、StringBuffer 是線程安全的,性能慢
StringBulider是線程不安全的,性能快
如今服務器性能已近得到很大程度的提升,如果在可以忽略兩者的微弱的性能差異,兩者隨便使用
但是需要考慮到兩者的線程安全問題
String Buffer 中含有 reverse 方法可以將字符串逆轉;