StringBuffer简单使用
一、简介
- StringBuffer,是可以存储和操作字符串,即包含多个字符的字符串数据。String类是字符串常量,是不可更改的常量。而StringBuffer是字符串变量,它的对象是可以扩充和修改的。
- StringBuffer是使用缓冲区的,本身也是操作字符串的,但与String类不同,String类中的内容一旦声明之后不可改变,改变的只是其内存地址的指向,而StringBuffer中的内容是可以改变的 。
- 对于StringBuffer而言,本身是一个具体的操作类,所以不能像String那样采用直接赋值的方式进行对象实例化,必须通过构造方法完成。
- 当字符串的内容要频繁改变时就可以使用StringBuffer
以上内容为百度百科提供
二、具体使用
话不多说,直接上代码!
内置方法 |
---|
![]() |
1.构造方法
StringBuffer不同于String可以直接赋值,需要先创建对象,StringBuffer提供了四种构造方法,其底层是字符数组(char[])。
//无参构造方法默认容量为16
public StringBuffer() {
super(16);
}
//自定义容量
public StringBuffer(int capacity) {
super(capacity);
}
//在创建对象的时候就给其赋值,容量为你的输入+16
public StringBuffer(String str) {
super(str.length() + 16);
append(str);
}
//类似于第三种构造方法
public StringBuffer(CharSequence seq) {
this(seq.length() + 16);
append(seq);
}
2.添加:append()
代码:
public class StringBufferStudy {
public static void main(String[] args) {
StringBuffer buffer=new StringBuffer();
buffer.append("spring");
System.out.println(buffer);
//字符串的拼接
buffer.append("boot");
System.out.println(buffer);
}
}
控制台输出:
3.删除:delete()、deleteCharAt()
代码:
public class StringBufferStudy {
public static void main(String[] args) {
StringBuffer buffer=new StringBuffer();
buffer.append("springboot");
System.out.println(buffer);
//delete(start,end)根据下标删除一段字符串,从start开始,到end结束,不包括end
buffer.delete(6,10);
System.out.println(buffer);
//删除指定下标的字符
buffer.deleteCharAt(1);
System.out.println(buffer);
}
}
控制台输出:
4.替换:replace()
代码:
public class StringBufferStudy {
public static void main(String[] args) {
StringBuffer buffer=new StringBuffer();
buffer.append("springboot");
System.out.println(buffer);
//replace(start,end,str)根据下标替换一段字符串,从start开始,到end结束,不包括end,用str替换
buffer.replace(6,10,"cloud");
System.out.println(buffer);
}
}
控制台输出:
5.插入:insert()
代码:
public class StringBufferStudy {
public static void main(String[] args) {
StringBuffer buffer=new StringBuffer();
buffer.append("springboot");
System.out.println(buffer);
//insert(offset,str)从下标offset开始,插入str
buffer.insert(6,"my");
System.out.println(buffer);
}
}
控制台输出:
6.长度、容量
代码:
public class StringBufferStudy {
public static void main(String[] args) {
StringBuffer buffer=new StringBuffer("springboot");
//length()实际长度
System.out.println(buffer.length());
//capacity()容量
System.out.println(buffer.capacity());
}
}
控制台输出:
7.倒序:reverse()
代码:
public class StringBufferStudy {
public static void main(String[] args) {
StringBuffer buffer=new StringBuffer("springboot");
System.out.println(buffer);
buffer.reverse();
System.out.println(buffer);
}
}
控制台输出:
8.获取指定字符下标:indexOf()
代码:
public class StringBufferStudy {
public static void main(String[] args) {
StringBuffer buffer=new StringBuffer("abcdabcd");
System.out.println(buffer);
//指定字符下标
System.out.println(buffer.indexOf("b"));
//indexOf(str,fromIndex)从下标fromIndex开始往后查询str的下标值
System.out.println(buffer.indexOf("b",2));
}
}
控制台输出:
以上就是StringBuffer的简单使用,如果有误,欢迎大家来评论区指正,
创作不易,如果对大家有帮助,希望能够点赞三连加关注!!!