一、StringBuffer類
1.我們知道字符串是常量,一旦被創(chuàng)建后,它的內(nèi)容和長(zhǎng)度值是不能夠改變的,當(dāng)需要對(duì)一個(gè)字符串進(jìn)行修改,只可以再創(chuàng)建,這樣就有點(diǎn)麻煩,可以使用StringBuffer類來解決這個(gè)問題,修改它的內(nèi)容和長(zhǎng)度。它是一個(gè)容器,可以添加和刪除,此時(shí)不會(huì)產(chǎn)生新的StringBuffer對(duì)象。
2.創(chuàng)建StringBuffer對(duì)象方法
StringBuffer( ):構(gòu)造一個(gè)空的緩沖字符串,它是沒有字符,初始容量為16個(gè)字符。
StringBuffer(int length):構(gòu)造一個(gè)長(zhǎng)度為length的空的緩沖字符串
StringBuffer(String str):構(gòu)造一個(gè)緩沖字符串,它初始化內(nèi)容為給定的字符串str,然后加上16個(gè)字符的初始容量。
二、StringBuffer常用方法
1.stringBuffer常用方法以下表示:
StringBuffer append(char c):添加參數(shù)到StringBuffer對(duì)象中。
StringBuffer insert(int index,String str):從字符串中index中插入字符串,形成新的字符串。
StringBuffer deleteCharAt(int index):刪除指定位置的字符,把剩下的內(nèi)容形成一個(gè)新的字符串。
StringBuffer delete(int start,int end):刪除這個(gè)序列的字符串中的字符。
StringBuffer replace(int start,int end,String str):在StringBuffer對(duì)象中替換指定字符。
StringBuffer toString():把StringBuffer對(duì)象轉(zhuǎn)換成String對(duì)象。
StringBuffer reserse():StringBuffer對(duì)象中的內(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 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("字符串翻轉(zhuǎn):"+sb);
System.out.println("字符串的長(zhǎng)度為:"+sb.length());
}
}
運(yùn)行的結(jié)果是:
三、String類和StringBuffer類區(qū)別
1.String類是字符串常量,被創(chuàng)建后它的內(nèi)容和長(zhǎng)度是不可以改變的。而StringBuffer類是字符的容量,它的內(nèi)容和長(zhǎng)度是可以發(fā)生改變的。
2.如果是表示數(shù)據(jù)類型的就用String類,需要對(duì)字符串的增刪改的就可以使用StringBuffer類。
3.String類有Object類的equal()方法,StringBuffer類是沒有這個(gè)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);
}
}
}
運(yùn)行的結(jié)果是:
4.String類字符串的連接可以使用”+”,而StringBuffer類不可以使用這個(gè)”+”。我們通過下面的這個(gè)例子看一下:
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);
//輸出的結(jié)果是字符串str1和str2的拼接為:hellojava
StringBuffer sb1=new StringBuffer("hello");
StringBuffer sb2=new StringBuffer("java");
StringBuffer sb3=sb1+sb2;//出現(xiàn)報(bào)錯(cuò)
}
}
運(yùn)行的結(jié)果是:

四、總結(jié)
本文主要介紹了StringBuffer類、StringBuffer常用方法、String類和StringBuffer類區(qū)別。
StringBuffer類是字符的容量,它的內(nèi)容和長(zhǎng)度是可以發(fā)生改變的,介紹了它的創(chuàng)建StringBuffer對(duì)象方法。
StringBuffer常用方法通過例子幫助理解對(duì)字符串的操作。了解String類和StringBuffer類區(qū)別在程序開發(fā)中,知道這些的區(qū)別和用法。希望大家通過本文的學(xué)習(xí),對(duì)你有所幫助!
原文地址:https://mp.weixin.qq.com/s/dbL94g-nO2UB8wmkhcSa8A