Java StringBuffer类常用方法总结

  • Post author:
  • Post category:java

喜欢的点赞鼓励一下~

**

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

喜欢的点赞鼓励一下~


版权声明:本文为qq_42605411原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。