一篇文章帶你搞定StringBuffer類和常用方法
后臺回復(fù)“Java”即可獲贈Java學(xué)習(xí)資料
一、StringBuffer類
1.我們知道字符串是常量,一旦被創(chuàng)建后,它的內(nèi)容和長度值是不能夠改變的,當(dāng)需要對一個字符串進行修改,只可以再創(chuàng)建,這樣就有點麻煩,可以使用StringBuffer類來解決這個問題,修改它的內(nèi)容和長度。它是一個容器,可以添加和刪除,此時不會產(chǎn)生新的StringBuffer對象。
2.創(chuàng)建StringBuffer對象方法
StringBuffer( ):構(gòu)造一個空的緩沖字符串,它是沒有字符,初始容量為16個字符。
StringBuffer(int length):構(gòu)造一個長度為length的空的緩沖字符串
StringBuffer(String str):構(gòu)造一個緩沖字符串,它初始化內(nèi)容為給定的字符串str,然后加上16個字符的初始容量。
二、StringBuffer常用方法
1.stringBuffer常用方法以下表示:
StringBuffer append(char c):添加參數(shù)到StringBuffer對象中。
StringBuffer insert(int index,String str):從字符串中index中插入字符串,形成新的字符串。
StringBuffer deleteCharAt(int index):刪除指定位置的字符,把剩下的內(nèi)容形成一個新的字符串。
StringBuffer delete(int start,int end):刪除這個序列的字符串中的字符。
StringBuffer replace(int start,int end,String str):在StringBuffer對象中替換指定字符。
StringBuffer toString():把StringBuffer對象轉(zhuǎn)換成String對象。
StringBuffer reserse():StringBuffer對象中的內(nèi)容反轉(zhuǎn),形成新的字符串。
void setCharAt(int index,char c):修改指定位置index的字符串
2.StringBuffer常用方法例子
public class p49 {public static void main(String[] args) {// TODO Auto-generated method stubStringBuilder 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("字符串翻轉(zhuǎn):"+sb);System.out.println("字符串的長度為:"+sb.length());}}
運行的結(jié)果是:

三、String類和StringBuffer類區(qū)別
1.String類是字符串常量,被創(chuàng)建后它的內(nèi)容和長度是不可以改變的。而StringBuffer類是字符的容量,它的內(nèi)容和長度是可以發(fā)生改變的。
2.如果是表示數(shù)據(jù)類型的就用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類結(jié)果:"+true);}else{System.out.println("String類結(jié)果:"+false);}//StringBuffer類StringBuffer sb1=new StringBuffer("hello");StringBuffer sb2=new StringBuffer("hello");if(sb1.equals(sb2)){System.out.println("StringBuffer類結(jié)果:"+true);}else{System.out.println("StringBuffer類結(jié)果:"+false);}}}
運行的結(jié)果是:

4.String類字符串的連接可以使用”+”,而StringBuffer類不可以使用這個”+”。我們通過下面的這個例子看一下:
public class p52 {public static void main(String[] args) {// TODO Auto-generated method stubString str1="hello";String str2="java";String str3=str1+str2;System.out.println("字符串str1和str2的拼接為:"+str3);//輸出的結(jié)果是字符串str1和str2的拼接為:hellojavaStringBuffer sb1=new StringBuffer("hello");StringBuffer sb2=new StringBuffer("java");StringBuffer sb3=sb1+sb2;//出現(xiàn)報錯}}
運行的結(jié)果是:

四、總結(jié)
本文主要介紹了StringBuffer類、StringBuffer常用方法、String類和StringBuffer類區(qū)別。
StringBuffer類是字符的容量,它的內(nèi)容和長度是可以發(fā)生改變的,介紹了它的創(chuàng)建StringBuffer對象方法。
StringBuffer常用方法通過例子幫助理解對字符串的操作。了解String類和StringBuffer類區(qū)別在程序開發(fā)中,知道這些的區(qū)別和用法。希望大家通過本文的學(xué)習(xí),對你有所幫助!
我是Java進階者,希望大家通過本文的學(xué)習(xí),對你有所幫助!歡迎大家加我微信,有問題可以隨時幫大家解決噢,交個朋友也好哇~
------------------- End -------------------
往期精彩文章推薦:
Java基礎(chǔ)入門之異常、異常分類、異常防護解析
Java基礎(chǔ)入門之異常的那些事兒
Java基礎(chǔ)入門之自定義異常、形參個數(shù)可變的方法、水仙花數(shù)
Java基礎(chǔ)入門之Object類、匿名內(nèi)部類、構(gòu)造方法的繼承解析

歡迎大家點贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Java學(xué)習(xí)群請在后臺回復(fù)【入群】
萬水千山總是情,點個【在看】行不行
