JavaAPI-StringBuilder类

一、StringBuilder 类


1.1、StringBuilder 概述

  • StringBuilder 是一个可变的字符串类,避免了 String 进行拼接的时候会创建一个新的 String 对象,浪费内存空间。

  • String 和 StringBuilder 的区别:

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

1.2、StringBuilder 构造方法

方法名 说明
public StringBuilder() 创建一个空白可变字符串对象,不含有任何内容
public StringBuilder(String str) 根据字符串的内容,来创建可变字符串对象

1.2.1、创建空白可变字符串

StringBuilder sb = new StringBuilder();
System.out.println("sb:"+sb);
System.out.println("sb.length():"+sb.length());

1.2.2、根据字符串内容创建

StringBuilder sb2 = new StringBuilder("hello");
System.out.println("sb2:"+sb2);
System.out.println("sb2.length():"+sb2.length());

1.3、StringBuilder 的添加和反转方法

方法名 说明
public StringBuilder append(任意类型) 添加数据,并返回对象本身
public StringBuilder reverse() 返回相反的字符序列

1.3.1、append() 方法

  • append 方法可以进行链式编程:
    • 对象名.append("元素1").append("元素2")[...]
// 创建 StringBuilder 对象
StringBuilder sb = new StringBuilder();
// 追加数据,并返回到 hello 对象中
StringBuilder hello = sb.append("hello");

System.out.println("sb:" + hello);

1.3.2、reverse() 方法

// 创建 StringBuilder 对象
StringBuilder sb = new StringBuilder();
// 添加数据
sb.append("hello");
// 反转数据
sb.reverse();

System.out.println("hello:" + sb);

1.4、StringBuilder 和 String 相互转换

1.4.1、StringBuilder 转换为 String

  • public String toString():通过 toString() 就可以实现把 StringBuilder 转换为 String。
StringBuilder sb = new StringBuilder();
sb.append("hello");
// 通过 toString() 方法,把 StringBuilder 字符串转换为 String 字符串。
String s = sb.toString();
System.out.println(s);

1.4.2、String 转换为 StringBuilder

  • public StringBuilder(String s):通过构造方法就可以实现把 String 转换为 StringBuilder。
String s = "hello";
// 通过构造方法把 String 字符串转换为 StringBuilder 字符串
StringBuilder sb = new StringBuilder(s);
System.out.println(sb);
上一篇:Java Jackson源码研究 - how is class member attribute information is parsed by Serializer


下一篇:Spring contextLoaderListener源码学习