码迷,mamicode.com
首页 > 其他好文 > 详细

类StringBuilder

时间:2019-04-27 09:31:10      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:append   ima   java   test   链式编程   图片   构造   内存   个数   

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

标签:append   ima   java   test   链式编程   图片   构造   内存   个数   

原文地址:https://www.cnblogs.com/wurengen/p/10777540.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!