StringBuffer類的常用方法
阿新 • • 發佈:2018-12-19
append()和insert()
同:
append()和insert()方法都可以用於向字元緩衝區中新增任意型別的資料
異:
append()方法僅能將資料新增到字元緩衝區的末尾;insert()方法可以向字元緩衝區中指定位置新增資料
StringBuffer sb=new StringBuffer();
int a1=100;
char ch1='日';
String str1="衝刺,決勝高考!";
sb.append(a1).append(ch1).append(str1);
System.err.println(sb);
int a2=2;
char ch2='+';
String str2= "天考試";
sb.insert(6, ch2).insert(7, a2).insert(8, str2);
sb.insert(16, ",幸福一生");
System.err.println(sb);
輸出結果:
100日衝刺,決勝高考!
100日衝刺+2天考試,決勝高考,幸福一生!
deleteCharAt()和delete(a,b)
deleteCharAt()
:用於刪除StringBuffer物件中指定位置的一個字元
delete(a,b)
:用於刪除StringBuffer物件中指定範圍的字元或字串序列(範圍為:[a,b)
,該範圍為一個半開半閉區間);因為字串的索引為非負數,所以a,b>=0
字串索引越界異常
:StringIndexOutOfBoundsException
StringBuffer sb=new StringBuffer("100日衝刺,決勝高考!");
sb.deleteCharAt(2);
System.err.println(sb);
sb.delete(2, 3);
System.err.println(sb);
sb.delete(7, 1000);
System.err.println(sb);
sb.delete(-1, 1); //StringIndexOutOfBoundsException
System.err.println (sb);
輸出結果:
10日衝刺,決勝高考!
10衝刺,決勝高考!
10衝刺,決勝
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
setCharAt()和replace()
setCharAt()
:用一個字元
替換StringBuffer物件中指定位置的一個字元
replace()
:用一個字串
替換StringBuffer物件中指定範圍的字元或字串序列
StringBuffer sb=new StringBuffer("100日衝刺,決勝高考!");
sb.setCharAt(3,'天');
System.err.println(sb);
sb.replace(7, 10, "圓了清華夢");
System.err.println(sb);
輸出結果:
100天衝刺,決勝高考!
100天衝刺,圓了清華夢考!
reverse():對字串進行取反操作
StringBuffer sb=new StringBuffer("我愛你");
sb.reverse();
System.err.println(sb);
輸出結果:
你愛我
toString():toString()方法是String類內部定義的方法,常用於返回StringBuffer物件的字串格式
StringBuffer sb=new StringBuffer();
List<Object> list=new ArrayList<Object>();
list.add(100);
list.add('日');
list.add("衝刺,決勝高考!");
for(Object obj:list){
sb.append(obj);
}
String str=sb.toString();
System.err.println(sb);
輸出結果:
100日衝刺,決勝高考!