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 转换为 StringString s = sb.toString();System.out.println(s);//把 String 转换为 StringBuilderSystem.out.println("-----");StringBuilder sb1 = new StringBuilder(s);System.out.println(sb1);}}
