StringBuffer类的常用方法

本文详细介绍了StringBuffer类的使用方法,包括创建、添加、插入、删除、替换和反转字符串的操作,并对比了StringBuffer与StringBuilder的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

版权声明:本文为博主原创文章,未经博主允许不得转载。
一、创建StringBuffer类
1.
StringBuffer 是 线程安全 ( 耗费资源) 的 可变序列
StringBuilder 是 线程不安全(不耗费资源) 的 可变序列
2.
创建一个新的StringBuffer对象一定要用到new方法,不能和string一样直接引用字符串常量
private static void fun1() {
// 构造方法初始化StringBuffer
StringBuffer sb = new StringBuffer();
// 打印当前的容量(理论值)
System.out.println(sb.capacity());// 16
// 打印长度(实际值)
System.out.println(sb.length());// 0
// 打印内容
System.out.println(sb.toString());
1
2
3
4
5
6
7
8
9
3.1 添加 append():
append(可以添加多种类型 包括基本数据类型);
例如:String、int、double、Boolean等,都可以转变成字符串表示形式。
private static void fun1() {
// StringBufferr 的长度是可以变的
// 对StringBufferr操作的时候 改变的是其本身
StringBuffer sb1 = new StringBuffer();
System.out.println(sb1);

    sb1.append("wukong").append("z").append("n");
    sb1.append("z");
    sb1.append("n");

    System.out.println(sb1);

1
2
3
4
5
6
7
8
9
10
11
3.2 插入insert():
setCharAt(int index , char ch)方法
将索引处的字符修改为ch.
private static void fun3() {
StringBuffer sb = new StringBuffer();
// 设置长度(一般用不上)
// sb.setLength(10);
// 按照下标去(偏移量)插入
sb.insert(0, “wukong”);
// 把索引位置的字符替换掉
sb.setCharAt(5,’p’);
sb.insert(6, 5);
System.out.println(sb);
}
1
2
3
4
5
6
7
8
9
10
11
3.3删除delete( , ):
移除此序列的字符串中的字符,该子字符串是从指定的索引start处开始,一直到索引end - 1处,如果end - 1超出最大索引范围则一直到序列尾部。
private static void fun4() {
StringBuffer sb = new StringBuffer();
sb.append(“wukong”);
// 删(留头不留尾)
sb.delete(0, 3);
// 根据索引删除 索引位置的字符
sb.deleteCharAt(2);
System.out.println(sb);
}
1
2
3
4
5
6
7
8
9
3.4替换
private static void fun5() {
StringBuffer sb = new StringBuffer();
sb.append(“wukong”);
sb.replace(0, 4,”tian”);
System.out.println(sb);
}
1
2
3
4
5
6
3.5反转
把字符串反转
字符串 转到 StringBuffer
StringBuffer转字符串
private static void fun7() {
String string = “wukong”;
// 字符串—>字符串缓冲区
StringBuffer sb = new StringBuffer(string);
sb.reverse();
// 反转后转回字符串
string = sb.toString();
System.out.println(string);

    }

1
2
3
4
5
6
7
8
9
10
4、
public static void main(String[] args) {
// 测试字符串作为参数 值是否能发生改变
/*
* 虽然字符串是个对象类型 但作为参数的时候
* 跟基本数据类型一样 相当于是值的传递
*/
String string = “BaJie”;
fun10(string);
System.out.println(string);
1
2
3
4
5
6
7
8
9
5、
测试StringBuffer做为参数 值是否发生改变
* StringBuffer 是引用数据类型
* 作为参数 相当于地址的传递 在函数修改的部分
* 相当于在原字符串上 进行操作
StringBuffer sb = new StringBuffer();
sb.append(“BaJie”);
fun11(sb);
System.out.println(sb);
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值