常用类-StringBuilder
参考黑马程序员
String拼接操作内存设定如下图
StringBuilder是一个可变的字符串类,我们可以把它看成是一个容器,这里的可变指的是StringBuilder对象中的内容是可变的
String和StringBuilder区别
-
String内容是不可变的
-
StringBuilder内容是可变的
StringBuilder构造方法(见代码)
| 方法名 | 说明 |
|---|---|
| public StringBuilder() | 创建一个空白可变字符串对象,不含有任何内容 |
| public StringBuilder(String str) | 根据字符串的内容,来创建可变字符串对象 |
StringBuilder的添加和反转方法(见代码)
| 方法名 | 说明 |
|---|---|
| public StringBuilder append(任意类型) | 添加数据,并返回对象本身 |
| public StringBuilder reverse() | 返回相反的字符序列 |
StringBuilder和String相互转换
-
为什么要相互转换?
因为StringBuilder中有两个好用的方法append和revers,所以String对象想要调用就需要转换为StringBuilder,使用完以后需要转换回来。
StringBuilder转换为String
public String toString():通过toString()就可以实现把StringBuilder转换为String
String转换为StringBuilder
public StringBuilder(str):通过构造方法就可以实现把Stringr转换为StringBuilder
代码
//创建一个空白可变字符串对象,不含有任何内容
StringBuilder sb = new StringBuilder();
System.out.println("sb:"+sb);
System.out.println("sb.length():"+sb.length());
//根据字符串的内容,来创建可变字符串对象
StringBuilder sb2 = new StringBuilder("StringBuilder");
System.out.println("sb2:"+sb2);
System.out.println("sb2.length():"+sb2.length());
//添加数据,并返回对象本身
sb2.append(123);
System.out.println(sb2);
//链式编程
sb.append(123).append(456).append(789);
System.out.println(sb);
//返回相反的字符序列
sb2.reverse();
System.out.println(sb2);
//通过toString()就可以实现把StringBuilder转换为String
String str = sb2.toString();
System.out.println(str);
//通过构造方法就可以实现把Stringr转换为StringBuilder
StringBuilder sb3 = new StringBuilder(str);

浙公网安备 33010602011771号