0x00: StringBuilder概述
StringBuilder 是一个可变的字符串类,我们可以把它看成一个容器,这里的可变是指 StringBuilder对象的内容是可变的。
String 和 StringBuilder的区别:
- String : 内容是不可变的
- StringBuilder:内容是可变的
0x02: StringBuilder 构造方法
方法名 | 说明 |
---|---|
public StringBuilder() | 创建一个空白字符串对象,不含任何内容 |
public StringBuilder(String str) | 根据字符串的内容,来创建可变字符串对象 |
package Test;
public class StringBuildDemo {
public static void main(String[] args) {
// 创建一个空白可变字符串对象
StringBuilder sb = new StringBuilder();
System.out.println("sb:" + sb);
System.out.println("sb.length():"+sb.length());
System.out.println("--------");
// 根据字符串内容,来创建可变字符串对象
StringBuilder sb1 = new StringBuilder("hello");
System.out.println("sb1:" + sb1);
System.out.println("sb1.length():"+sb1.length());
}
}
0x03:StringBuilder的添加和反转方法
方法名 | 说明 |
---|---|
public StringBuilder append(任意类型) | 添加数据,并返回对象本身 |
public StringBuilder reverse() | 返回相反的字符序列 |
package Test;
public class StringBuildDemo {
public static void main(String[] args) {
// 创建一个空白可变字符串对象
StringBuilder sb = new StringBuilder();
// sb.append("hello");
// System.out.println("sb:"+sb);
// 链式变成
sb.append("hello ").append("world ").append(100);
System.out.println("sb:"+sb);
System.out.println("------");
sb.reverse();
System.out.println("sb: "+ sb);
}
}
0x04:StringBuilder 和 String 相互转换
①: StringBuilder 转换为 String
public String toString():通过 toString()就可以把StringBuilder转换为String
②:String 转换为StringBuilder
public StringBuilder(String s):通过构造方法可以实现把String转换为 StringBuilder
package Test;
public class StringBuildDemo {
public static void main(String[] args) {
// 创建一个空白可变字符串对象
StringBuilder sb = new StringBuilder();
// sb.append("hello");
// System.out.println("sb:"+sb);
// 链式变成
sb.append("hello ").append("world ").append(100);
//把 StringBuilder 转换为 String
String s = sb.toString();
System.out.println(s);
//把 String 转换为 StringBuilder
System.out.println("-----");
StringBuilder sb1 = new StringBuilder(s);
System.out.println(sb1);
}
}