字符串String(四)

字符串变量

1 StringBuffer类(jdk 1.0 开始提供)

StringBuffer类是一个线程安全的可变字符串类,它可以动态地修改字符串内容。主要特点如下:

  • StringBuffer对象创建后,可以随时通过调用其方法来修改字符串内容。

  • StringBuffer类的方法包括字符串的拼接、插入、删除、反转等操作,使得对字符串的操作更加灵活。

  • 由于StringBuffer是线程安全的,适用于在多线程环境下对字符串进行修改的情况。

  • 由于线程安全的特性,StringBuffer的性能相对较低,适用于单线程环境或者对线程安全要求比较高的场景。

示例:

StringBuffer sb = new StringBuffer();  // 创建一个空的StringBuffer对象
sb.length();  // 返回 StringBuffer 中字符序列的长度
sb.append("Hello");  // 追加字符串
sb.insert(5, " ");  // 在指定位置插入字符串
sb.delete(0, 2);  // 删除指定范围内的字符 [0,2)
sb.deleteCharAt(0);  // 删除某个位置
sb.reverse();  // 反转字符串
sb.replace(0, 1, "h");  //替换字符
String result = sb.toString();  // 将StringBuffer对象转换为字符串

2.StringBuilder类(jdk 1.5 开始提供)

StringBuilder类也是一个可变的字符串类,与StringBuffer类功能类似,但是StringBuilder类不是线程安全的,因此性能略高。主要特点如下:

  • StringBuilder对象创建后,可以通过调用其方法来动态地修改字符串内容,与StringBuffer类相同。

  • StringBuilder类的方法包括字符串的拼接、插入、删除、反转等操作,与StringBuffer类相同。

  • 由于StringBuilder不是线程安全的,适用于单线程环境下对字符串进行修改的场景,性能相对较高。

示例:

StringBuilder sb = new StringBuilder();  // 创建一个空的StringBuilder对象
sb.append("Hello");  // 追加字符串
sb.insert(5, " ");  // 在指定位置插入字符串
sb.delete(0, 2);  // 删除指定范围内的字符
sb.reverse();  // 反转字符串
String result = sb.toString();  // 将StringBuilder对象转换为字符串
// StringBuilder --> String
String str = sb.toString();
System.out.println(str);

int capacity = sb.capacity();
System.out.println(capacity);  // 输出为默认容量或者根据实际字符串长度调整后的值

总结

  • 当需要对字符串进行频繁且线程安全的修改时,推荐使用StringBuffer类。
  • 当对字符串进行频繁但不涉及多线程的修改时,推荐使用StringBuilder类,因为它具有更好的性能。
  • 无论使用StringBuffer还是StringBuilder,都可以通过其方法来进行字符串的拼接、插入、删除和反转等操作。都继承自抽象类 AbstractStringBuilder
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值