一篇文章帶你搞定StringBuffer類和常用方法
一、StringBuffer類
1.我們知道字符串是常量,一旦被創(chuàng)建后,它的內容和長度值是不能夠改變的,當需要對一個字符串進行修改,只可以再創(chuàng)建,這樣就有點麻煩,可以使用StringBuffer類來解決這個問題,修改它的內容和長度。它是一個容器,可以添加和刪除,此時不會產生新的StringBuffer對象。
2.創(chuàng)建StringBuffer對象方法
StringBuffer( ):構造一個空的緩沖字符串,它是沒有字符,初始容量為16個字符。
StringBuffer(int length):構造一個長度為length的空的緩沖字符串
StringBuffer(String str):構造一個緩沖字符串,它初始化內容為給定的字符串str,然后加上16個字符的初始容量。
二、StringBuffer常用方法
1.stringBuffer常用方法以下表示:
StringBuffer append(char c):添加參數到StringBuffer對象中。
StringBuffer insert(int index,String str):從字符串中index中插入字符串,形成新的字符串。
StringBuffer deleteCharAt(int index):刪除指定位置的字符,把剩下的內容形成一個新的字符串。
StringBuffer delete(int start,int end):刪除這個序列的字符串中的字符。
StringBuffer replace(int start,int end,String str):在StringBuffer對象中替換指定字符。
StringBuffer toString():把StringBuffer對象轉換成String對象。
StringBuffer reserse():StringBuffer對象中的內容反轉,形成新的字符串。
void setCharAt(int index,char c):修改指定位置index的字符串
2.StringBuffer常用方法例子
- public class p49 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- StringBuilder sb = new StringBuilder();
- sb.append("java");
- System.out.println("添加字符串到末尾:"+sb);
- sb.insert(0 , "hello ");
- System.out.println("在指定的位置插入字符串:"+sb);
- sb.replace(5, 6, ",");
- System.out.println("替換指定位置的字符串:"+sb);
- sb.delete(5, 6);
- System.out.println("刪除指定位置的字符:"+sb);
- sb.reverse();
- System.out.println("字符串翻轉:"+sb);
- System.out.println("字符串的長度為:"+sb.length());
- }
- }
運行的結果是:
三、String類和StringBuffer類區(qū)別
1.String類是字符串常量,被創(chuàng)建后它的內容和長度是不可以改變的。而StringBuffer類是字符的容量,它的內容和長度是可以發(fā)生改變的。
2.如果是表示數據類型的就用String類,需要對字符串的增刪改的就可以使用StringBuffer類。
3.String類有Object類的equal()方法,StringBuffer類是沒有這個equal()方法。我們通過下面的例子來看一下。
- public class p51 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- //String類
- String str1="hellojava";
- String str2="hellojava";
- if(str1.equals(str2)){
- System.out.println("String類結果:"+true);
- }else{
- System.out.println("String類結果:"+false);
- }
- //StringBuffer類
- StringBuffer sb1=new StringBuffer("hello");
- StringBuffer sb2=new StringBuffer("hello");
- if(sb1.equals(sb2)){
- System.out.println("StringBuffer類結果:"+true);
- }else{
- System.out.println("StringBuffer類結果:"+false);
- }
- }
- }
運行的結果是:
4.String類字符串的連接可以使用”+”,而StringBuffer類不可以使用這個”+”。我們通過下面的這個例子看一下:
- public class p52 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- String str1="hello";
- String str2="java";
- String str3=str1+str2;
- System.out.println("字符串str1和str2的拼接為:"+str3);
- //輸出的結果是字符串str1和str2的拼接為:hellojava
- StringBuffer sb1=new StringBuffer("hello");
- StringBuffer sb2=new StringBuffer("java");
- StringBuffer sb3=sb1+sb2;//出現(xiàn)報錯
- }
- }
運行的結果是:

四、總結
本文主要介紹了StringBuffer類、StringBuffer常用方法、String類和StringBuffer類區(qū)別。
StringBuffer類是字符的容量,它的內容和長度是可以發(fā)生改變的,介紹了它的創(chuàng)建StringBuffer對象方法。
StringBuffer常用方法通過例子幫助理解對字符串的操作。了解String類和StringBuffer類區(qū)別在程序開發(fā)中,知道這些的區(qū)別和用法。希望大家通過本文的學習,對你有所幫助!