0x00: StringBuilder概述

StringBuilder 是一个可变的字符串类,我们可以把它看成一个容器,这里的可变是指 StringBuilder对象的内容是可变的。

String 和 StringBuilder的区别:

  • String : 内容是不可变的
  • StringBuilder:内容是可变的

0x02: StringBuilder 构造方法

方法名 说明
public StringBuilder() 创建一个空白字符串对象,不含任何内容
public StringBuilder(String str) 根据字符串的内容,来创建可变字符串对象
  1. package Test;
  2. public class StringBuildDemo {
  3. public static void main(String[] args) {
  4. // 创建一个空白可变字符串对象
  5. StringBuilder sb = new StringBuilder();
  6. System.out.println("sb:" + sb);
  7. System.out.println("sb.length():"+sb.length());
  8. System.out.println("--------");
  9. // 根据字符串内容,来创建可变字符串对象
  10. StringBuilder sb1 = new StringBuilder("hello");
  11. System.out.println("sb1:" + sb1);
  12. System.out.println("sb1.length():"+sb1.length());
  13. }
  14. }

0x03:StringBuilder的添加和反转方法

方法名 说明
public StringBuilder append(任意类型) 添加数据,并返回对象本身
public StringBuilder reverse() 返回相反的字符序列
  1. package Test;
  2. public class StringBuildDemo {
  3. public static void main(String[] args) {
  4. // 创建一个空白可变字符串对象
  5. StringBuilder sb = new StringBuilder();
  6. // sb.append("hello");
  7. // System.out.println("sb:"+sb);
  8. // 链式变成
  9. sb.append("hello ").append("world ").append(100);
  10. System.out.println("sb:"+sb);
  11. System.out.println("------");
  12. sb.reverse();
  13. System.out.println("sb: "+ sb);
  14. }
  15. }

0x04:StringBuilder 和 String 相互转换

①: StringBuilder 转换为 String
public String toString():通过 toString()就可以把StringBuilder转换为String

②:String 转换为StringBuilder
public StringBuilder(String s):通过构造方法可以实现把String转换为 StringBuilder

  1. package Test;
  2. public class StringBuildDemo {
  3. public static void main(String[] args) {
  4. // 创建一个空白可变字符串对象
  5. StringBuilder sb = new StringBuilder();
  6. // sb.append("hello");
  7. // System.out.println("sb:"+sb);
  8. // 链式变成
  9. sb.append("hello ").append("world ").append(100);
  10. //把 StringBuilder 转换为 String
  11. String s = sb.toString();
  12. System.out.println(s);
  13. //把 String 转换为 StringBuilder
  14. System.out.println("-----");
  15. StringBuilder sb1 = new StringBuilder(s);
  16. System.out.println(sb1);
  17. }
  18. }