文章目錄
一 、簡述
String類的內容一旦聲明則不可改變,如果要改變,則改變的是String的引用地址。那麼如果一個字符串要被經常改變,則就必須使用 StringBuffer 類
二 、StringBuffer的常用方法
1 、字符串連接操作
String類中通過 “+” 進行字符串的連接,但在 StringBuffer 中使用 append() 方法進行字符串連接*
(1)、通過append連接各種類型的數據
public class StringBufferDemo01 {
public static void main(String[] args) {
StringBuffer buffer = new StringBuffer();
buffer.append("Hello ");
buffer.append("World").append("!!!");
buffer.append("\n"); //添加轉義字符表示換行
buffer.append("數字=").append(1).append("\n");
buffer.append("布爾=").append(true);
System.out.println(buffer);
}
}
程序運行結果:
(1)、驗證StringBuffer的內容是可以修改的
public class StringBufferDemo02 {
public static void main(String[] args) {
StringBuffer buffer = new StringBuffer();
buffer.append("Hello ");
fun(buffer);
System.out.println(buffer);
}
public static void fun(StringBuffer s){
s.append("World ").append("!!!");
}
}
程序運行結果:
2 、在任意位置處爲 StringBuffer 添加內容
public class StringBufferDemo03 {
public static void main(String[] args) {
StringBuffer buffer = new StringBuffer();
buffer.append("World!!");
buffer.insert(0,"Hello "); //在內容之前添加
System.out.println(buffer);
buffer.insert(buffer.length(),"Java"); //在內容最後添加
System.out.println(buffer);
}
}
程序運行結果:
3 、字符串反轉操作
public class StringBufferDemo04 {
public static void main(String[] args) {
StringBuffer buffer = new StringBuffer();
buffer.append("ABCDE");
System.out.println(buffer.reverse());
}
}
程序運行結果:
4 、替換指定範圍的內容
public class StringBufferDemo05 {
public static void main(String[] args) {
StringBuffer buffer = new StringBuffer();
buffer.append("Hello World!");
buffer.replace(6,11,"Java"); //6開始,11之前的位置內容(World)替換爲Java
System.out.println(buffer);
}
}
程序運行結果:
備註:String中使用replaceAll()方法進行替換,StringBuffer 中使用replace()方法替換
5 、字符串截取操作
public class StringBufferDemo06 {
public static void main(String[] args) {
StringBuffer buffer = new StringBuffer();
buffer.append("Hello World Java!");
System.out.println(buffer.substring(12,16)); //指定截取範圍,6開始,16之前
}
}
程序運行結果:
6 、刪除指定範圍字符串
public class StringBufferDemo07 {
public static void main(String[] args) {
StringBuffer buffer = new StringBuffer();
buffer.append("Hello World!");
System.out.println(buffer.delete(6,11)); //指定刪除範圍,6開始,11之前
}
}
程序運行結果:
7 、查找指定的內容是否存在
public class StringBufferDemo08 {
public static void main(String[] args) {
StringBuffer buffer = new StringBuffer();
buffer.append("Hello World!");
if(buffer.indexOf("Hello")!=-1){
System.out.println("指定內容存在!");
}
}
}
程序運行結果: