1. StringBuilder类概述
- StringBuilder是一个可变的字符串类,我们可以把它看成是一个容器,这里的可变指的是 StringBuilder 对象中的内容是可变的
2. StringBuilder类和String类的区别
- String类:内容是不可变的
- StringBuilder类:内容是可变的
3. StringBuilder类的构造方法
- 常用的构造方法
方法名 | 说明 |
---|---|
public StringBuilder() | 创建一个空白可变字符串对象,不含有任何内容 |
public StringBuilder(String str) | 根据字符串的内容,来创建可变字符串对象 |
- 示例代码
public class Demo {
public static void main(String[] args) {
//public StringBuilder():创建一个空白可变字符串对象,不含有任何内容
StringBuilder sb = new StringBuilder();
System.out.println("sb:" sb);
System.out.println("sb.length():" sb.length());
//public StringBuilder(String str):根据字符串的内容,来创建可变字符串对象
StringBuilder sb2 = new StringBuilder("hello");
System.out.println("sb2:" sb2);
System.out.println("sb2.length():" sb2.length());
}
}
4. StringBuilder类添加和反转方法
- 添加和反转方法
方法名 | 说明 |
---|---|
public StringBuilder append(任意类型) | 添加数据,并返回对象本身 |
public StringBuilder reverse() | 返回相反的字符序列 |
- 示例代码
public class Demo {
public static void main(String[] args) {
//创建对象
StringBuilder sb = new StringBuilder();
//链式编程
sb.append("hello").append("world").append("java").append(100);
System.out.println("sb:" sb);
//public StringBuilder reverse():返回相反的字符序列
sb.reverse();
System.out.println("sb:" sb);
}
}
5. StringBuilder和String相互转换
- StringBuilder 转换为 String public String toString():通过 toString() 就可以实现把 StringBuilder 转换为 String
- String 转换为 Stri ngBuiIder public StringBuilder(String s):通过构造方法就可以实现把 String 转换为 StringBuilder
- 示例代码:
//StringBuilder 转换为 String
StringBuilder sb = new StringBuilder();
sb.append("hello");
//String s = sb; //这个是错误的做法
//public String toString():通过 toString() 就可以实现把 StringBuilder 转换为 String
String s = sb.toString();
//String 转换为 StringBuilder
String s = "hello";
//这个是错误的做法
// StringBuilder sb = s;
//public StringBuilder(String s):通过构造方法就可以实现把 String 转换为StringBuilder
StringBuilder sb = new StringBuilder(s);