Java中StringBuilder的用法

比眉伴天荒 2024-03-22 13:31 30阅读 0赞

一.StringBuilder的作用:

Java中的StringBuilder类提供了一种可变的字符串序列,它可以有效地在字符串末尾添加、删除和替换字符,而不会产生额外的对象开销。与使用String对象进行频繁字符串拼接操作时,使用StringBuilder可以显著提高程序的性能。

二.StringBulider的用法:

  1. 构建可变的字符串:StringBuilder类提供了一种可变的字符串序列,可以在任意位置插入、删除字符,以及替换字符等操作,从而构建一个可变的字符串。
  2. 执行高效的字符串操作:由于String类型的字符串是不可变的,每次进行操作都会产生新的String对象,从而导致内存开销和性能损失。使用StringBuilder可以避免这种情况,有效地执行高效的字符串操作。
  3. 可链式调用:StringBuilder支持链式调用,可以将多个字符串操作连起来,以便更加简洁和优雅的构建字符串。例如:sb.append("Hello").append(" ").append("World")
  4. 可同时处理多个并发操作:StringBuilder是非线程安全的,但是它可以同时处理多个并发操作。在多线程环境下,应当使用StringBuffer类代替StringBuilder类。

三.代码实现:

  1. //1.创建对象
  2. StringBuilder sb = new StringBuilder("abc");
  3. //当然也可以创建一个空参的对象StringBuilder sb = new StringBuilder();
  4. //这样这个容器中就啥也没有
  5. //2.添加元素
  6. // sb.append(1);
  7. // sb.append(true);
  8. // sb.append(4.5);
  9. // System.out.println(sb);//abc1true4.5
  10. //3.反转
  11. sb.reverse();//cba
  12. //4.获取长度
  13. int len = sb.length();
  14. System.out.println(len);//3
  15. //5.再把StringBuilder变回字符串
  16. String str = sb.toString();
  17. System.out.println(str);//cba
  18. /* 打印
  19. * 普及:
  20. *因为StringBuilder是Java已经写好的类
  21. *java在底层对他做了一些特殊处理
  22. *打印对象不是地址值而是属性值
  23. */
  24. System.out.println(sb);
  25. StringBuilder sb = new StringBuilder();
  26. //在字符串末尾追加新的字符串
  27. sb.append("Hello");
  28. sb.append(" ");
  29. sb.append("World");
  30. //在指定位置插入新的字符串
  31. sb.insert(6, "Java ");
  32. //替换指定位置的字符
  33. sb.replace(6, 10, "Java");
  34. //删除指定范围内的字符
  35. sb.delete(0, 5);
  36. //反转当前字符串
  37. sb.reverse();
  38. System.out.println(sb.toString()); // 输出:"avaJdlroW"

上面的示例代码中,通过StringBuilder类的append方法在字符串末尾添加新的字符串,通过insert方法在指定位置插入新的字符串,通过replace方法替换指定位置的字符,通过delete方法删除指定范围内的字符,通过reverse方法反转当前字符串。最后使用toString方法将StringBuilder对象转换为String类型的字符串并输出结果。

四.总结:

1.public StringBuilder append(任意类型) 添加数据,并返回对象本身

2.public StringBuilder reverse() 反转容器中的内容

3.public int length() 返回长度(字符出现的个数)

4.public String toString() 通过toString()就可以实现把StringBuilder转换成String类型

5.public StringBuilder insert(int i,任意类型) 在指定位置插入新的字符串

6.public StringBuilder replace(int i,int j, String m) 将“i”到“j”之间的字符替换成“m”

7.public StringBuilder delete(int i,int j) 删除指定范围内的字符

发表评论

表情:
评论列表 (有 0 条评论,30人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C#StringBuilder类型

    我们在使用String类构造一个字符串时,要给它分配足够的内存来保存字符串,当我们需要对创建好的字符串在进行某些操作,例如我们再添加一个字符串到旧的字符串对象上,它不会将新字符

    相关 javastringBuilder

    String对象是不可改变的。每次使用 System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修