版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38225558/article/details/82054702
StringBuffer可变字符串 == 》值可以改变
构造方法:
StringBuffer() : 创建一个空的可变字符串对象
StringBuffer(String s) : 创建一个指定字面量的可变字符串对象
方法:(具体查api文档)
append(任何类型的参数):把指定的参数拼接到当前字符串的末尾。 不会生成新的字符串对象
delete(int start,int end) : 删除索引为start到end范围的字符串,含前不含后 (基本上带start与end参数的都是含前不含后)
ex1:
/*
* 此代码创建了10个字符串对象,对内存是极大的浪费
* 像这种需要频繁的修改字符串值的情况,不建议使用不可变字符串:Stirng
* 建议使用可变字符串:StringBuffer
* 可变字符串的特点:每次修改值,不会创建新的对象
* 修改之后:从始至终都只有一个可变字符串对象
*/
public class Demo{
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
for(int i = 0;i<10;i++){
sb.append(i + " ");
}
System.out.println(sb);
}
}
运行结果图:
ex2:
public class Demo {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
System.out.println(sb);
StringBuffer sb2 = new StringBuffer("这是一个可变字符串");
System.out.println(sb2);
//调用append方法但是没有使用sb2来接收返回值。如果打印的值发生了变化,说明:是在本来的基础上改变了值
sb2.append("+hello");
System.out.println(sb2);
//删除sb2中索引0到索引3范围的字符串。注意:end参数要写4
sb2.delete(0, 4);
System.out.println(sb2);
}
}
运行结果图: