🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
#### 为什么使用StringBuilder?? ``` 由于String类的对象内容不可改变,所以每当进行字符串拼接时,总是会在内存中创建一个新的对象 ``` ``` 例如: public class StringDemo { public static void main(String[] args) { String s = "Hello"; s += "World"; System.out.println(s); } } 1. 字符串是常量,它们的值在创建后不能被更改。 2. 总共产生了三个字符串,即`"Hello"`、`"World"`和`"HelloWorld"` 总结: 如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间 怎么解决? 使用StringBuilder ``` #### StringBuilder ``` 1. 可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容 2. 它的内部拥有一个数组用来存放字符串内容,进行字符串拼接时,直接在数组中加入新内容 3. StringBuilder会自动维护数组的扩容, (默认16字符空间,超过自动扩充) ``` #### 构造方法 ``` 根据StringBuilder的API文档,常用构造方法有2个: public StringBuilder():构造一个空的StringBuilder容器。 public StringBuilder(String str):构造一个StringBuilder容器,并将字符串添加进去 ``` #### 常用方法 ``` StringBuilder常用的方法有2个: public StringBuilder append(...):添加任意类型数据的字符串形式,并返回当前对象自身 public String toString():将当前StringBuilder对象转换为String对象 ```