喜欢的点赞鼓励一下~
**
StringBuffer类
**
public final class StringBuffer
extends Object
implements Serializable,CharSequence
StringBuffer也叫字符串缓冲区,它是可变得字符序列,线程安全的。StringBuffer类的对象实体都有一个容量,只要字符串缓冲区中包含的字符序列 长度不超过容量,就不必分配新的内部缓冲区数组,如果内部缓冲区溢出,则会自动变大。
注意:String对象的字符序列是不可修改的。
StringBuffer类的构造方法
StringBuffer()
构造一个没有字符的字符缓冲区,初始容量为16个字符。
StringBuffer(int capacity)
构造一个没有字符的字符串缓冲区和指定的初始容量。
StringBuffer(String str)
构造一个初始化为指定字符串内容的字符串缓冲区。
StringBuffer类的常用方法
①添加字符串
StringBuffer append(T t)
含义:将参数 t 的字符串表示附加到此序列的末尾。T可以是boolean、char
、char[] 、double、float、int、long、Object、String、StringBuffer。
只有字符数组可以,其他类型的数组不可以。
也可以指定字符数组开始和结尾的索引值,取其中一部分。
StringBuffer s1=new StringBuffer();
boolean b=true;
s1.append(b);
char[] c={'a','p','p','l','e','s','l','o'};
s1.append(c);
int i=7777;
s1.append(i);
System.out.println(s1); //输出:trueappleslo
char[] c={'a','p','p','l','e','s','l','o'};
StringBuffer s2=new StringBuffer();
s2.append(c,0,5);
System.out.println(s2); //输出:apple
②返回指定索引的char字符
char charAt(int index)
StringBuffer s3=new StringBuffer("Java");
System.out.println(s3.charAt(1)); //输出:a
③删除
StringBuffer delete(int start ,int end)
含义:删除此序列的子字符串中的字符。
StringBuffer s3=new StringBuffer("Java Hello");
System.out.println(s3.delete(0,5)); //输出:Hello
StringBuffer delectCharAt(int index)
含义:删除此序列指定位置的字符。
StringBuffer s3=new StringBuffer("Java Hello");
System.out.println(s3.deleteCharAt(0)); //输出:ava Hello
④返回字符索引值
int indexOf(String str)
含义:返回指定子字符串第一次出现的字符串内的索引。
StringBuffer s3=new StringBuffer("Java Hello");
System.out.println(s3.indexOf("Hello")); //输出;5
int indexOf(String str,int fromIndex)
含义:从指定索引开始,返回指定返回指定子字符串第一次出现的字符串内的索引。
StringBuffer s3=new StringBuffer("Java Hello");
System.out.println(s3.indexOf("a",2)); //输出:3
int lastIndexOf(String str)
含义:返回指定子字符串最后一次出现的字符串中的索引
StringBuffer s3=new StringBuffer("Java Hello");
System.out.println(s3.lastIndexOf("a"));//输出:3
int lastIndexOf(String str,int fromIndex)
含义:从参数索引值往左看,返回指定子字符串最后一次出现的字符串中的索引
StringBuffer s3=new StringBuffer("Java Hello");
System.out.println(s3.lastIndexOf("a",2));//输出:1
⑤插入
StringBuffer insert(int offset,T t)
含义:在指定的offset索引位置,插入参数t字符串表示形式。
T可以是:boolean、char、char[] 、double、float、int、long、Object、String、StringBuffer。
StringBuffer s3=new StringBuffer("Java Hello");
int i=555;
char[] c={'a','p','p','l','e','s','l','o'};
StringBuffer stb=new StringBuffer("MySql");
System.out.println(s3.insert(5,i)); //输出:Java 555Hello
System.out.println(s3.insert(5,stb)); //输出:Java MySql555Hello
System.out.println(s3.insert(0,c,0,5)); //输出:appleJava MySql555Hello
⑥替换
StringBuffer replace(int start,int end,String str)
含义:用指定的String字符串替换此序列中start索引至end索引范围的内容。
StringBuffer s3=new StringBuffer("Java Hello");
System.out.println(s3.replace(0,4,"MySql")); //输出:MySql Hello
void setCharAt(int index,char ch)
含义:指定索引处的字符设置为ch。
StringBuffer s3=new StringBuffer("Java Hello");
s3.setCharAt(4,'&');
System.out.println(s3); //输出:Java&Hello
⑦反向
StringBuffer reverse();
含义:使该序列被相反的代替。
StringBuffer s3=new StringBuffer("Java Hello");
System.out.println(s3.reverse()); //输出:olleH avaJ
⑧返回子串
String substring(int start)
含义:返回一个新的String,从此序列的索引start开始
String substring(int start,int end)
含义:返回一个新的String,从此序列的索引start开始至索引end结束
StringBuffer s3=new StringBuffer("Java Hello");
String s=s3.substring(5);
String s2=s3.substring(0,4);
System.out.println(s); //输出:Hello
System.out.println(s2); //输出:Java
喜欢的点赞鼓励一下~