StringBuilder类

定义:StringBuilder用于创建和操作字符序列可变的字符串(对象)。

//StringBuilder类型的变量/常量所标识的内存空间存储的是StringBuilder实例的内存地址。注:当我们直接打印StringBuilder类型的变量/常量时,屏幕上输出的是String实例实例变量的值(即String实例中包含的字符序列)。注:这是因为执行打印操作时,JVM隐式调用该StringBuilder实例的“toString()”方法生成了相应String实例,继而隐式调用该String实例的“toString()”方法返回了String实例实例变量的值。

//相较于String类型的字符串(对象),StringBuilder类型的字符串(对象)在进行字符串拼接操作时效率更高。

例1:

String s = “Test”;

for(int i = 0; i < 3; i++) {

s += i;

}    //运行时间较长

注:程序运行过程中共产生1个String实例,3个StringBuilder实例。

例2:

StringBuilder sb = new StringBuilder(“Test”);

for(int i = 0; i < 3; i++) {

sb = sb.append(i);

}    //运行时间较短

注:程序运行过程中共产生1个String实例,1个StringBuilder实例。


StringBuilder类的基本实现:

[import java.lang.StringBuilder;]//“java.lang”包下的类无需显式导入即可使用。

①StringBuilder 变量名 = new StringBuilder();   ——创建StringBuilder实例,空字符串

②StringBuilder 变量名 = new StringBuilder(“字符序列”,本质也是String实例/String实例);    ——创建StringBuilder实例

变量名.方法名();    ——调用方法

//以方式①创建String类的实例时,会将该实例以“实例”的形式存储在堆内存中。此时,变量所标识的内存空间存储的是“实例”的内存地址。

//以方式②创建String类的实例时,不但会将该实例以“字面量”的形式存储在常量池中,还会将该实例以“实例”的形式存储在堆内存中。此时,变量所标识的内存空间存储的是“实例”的内存地址。

//每个字面量在常量池中只有一份,同一个字面量在常量池中不会产生多个副本。


StringBuilder类的常用方法:

①append(基本数据类型的数据/String数据类型的数据) ——用于将StringBuilder实例实例变量的值(即StringBuilder实例中包含的字符序列)和实参值(会自动转换为String类型的数据)进行拼接,并用拼接后的结果替换该实例实例变量的值。

②reverse()  ——用于对StringBuilder实例实例变量的值(即StringBuilder实例中包含的字符序列)进行反转,并用反转后的结果替换该实例实例变量的值。

③length()    ——用于获取字符串的长度

④toString()    ——用于生成相应的String实例

⑤equals()    ——用于比较StringBuild实例在内存中的地址是否相同。注:StringBuild类没有重写Object类的“equals()”方法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容