类StringBuilder
Posted wurengen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类StringBuilder相关的知识,希望对你有一定的参考价值。
StringBuilder概述
因为字符串的底层是一个被final修饰的数组,不能改变,是一个常量。所以每当进行字符串拼接时,总是会在内存中创建一个新的对象。由此可知,如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间。为了解决这一问题,可以使用`java.lang.StringBuilder`类。StringBuilder是个字符串的缓冲区,即它是一个容器,容器中可以装很多字符串。并且能够对其中的字符串进行各种操作。它的内部拥有一个数组用来存放字符串内容,进行字符串拼接时,直接在数组中加入新内容。StringBuilder会自动维护数组的扩容。(默认16字符空间,超过自动扩充)
常用构造方法有2个:
- public StringBuilder():构造一个空的StringBuilder容器。
- public StringBuilder(String str):构造一个StringBuilder容器,并将字符串添加进去。
常用的方法有2个:
- public StringBuilder append(...):添加任意类型数据的字符串形式,并返回当前对象自身。
- public String toString():将当前StringBuilder对象转换为String对象。
注意:
StringBuilder对象和String对象是可以相互转换的。
代码举例:
package demo04; public class StringBuilderTest { public static void main(String[] args) { // 创建一个容器对象,里面的数据为空 StringBuilder stringBuilder1 = new StringBuilder(); // 创建一个容器对象,里面的数据可以通过构造方法指定( String对象转换为StringBuilder对象。) StringBuilder stringBuilder2 = new StringBuilder("你好啊"); //append方法具有多种重载形式,可以接收任意类型的参数。任何数据作为参数都会将对应的字符串内容添加到StringBuilder中。 stringBuilder2.append(1); stringBuilder2.append(‘A‘); //链式编程 调用一个方法后,返回一个对象的情况。然后使用返回的对象继续调用方法。 stringBuilder2.append("A").append(true).append(new int[]{1, 2, 3, 4, 5}); //将当前StringBuilder对象转换为String对象。 String s = stringBuilder2.toString(); System.out.println(s); } }
执行结果
以上是关于类StringBuilder的主要内容,如果未能解决你的问题,请参考以下文章
StringBuffer 和 StringBuilder 类