StringBuilder的原理与StringBuilder的构造方法和append方法

StringBuilder类

java.lang类String

  String类代表字符串。Java程序中的所有字符串字面值(如“abc”)都作为此类的实例实现。

  字符串是常量﹔它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为String 对象是不可变的,所以可以共享

构造方法
根据StringBuilder的API文档,常用构造方法有2个:
public StringBuilder(:构造一个空的StringBuilder容器。
public StringBuilder(String str):构造一个StringBuilder容器,并将字符串添加进去。

package StringBuilder_Demo01;
/*
    java.lang.StringBuilder类:字符串缓冲区,可以提高字符串的效率
        public StringBuilder(:构造一个空的StringBuilder容器。
        public StringBuilder(String str):构造一个StringBuilder容器,并将字符串添加进去。
 */
public class Demo01_StringBuilder {
    public static void main(String[] args) {
        StringBuilder bu1 = new StringBuilder();
        System.out.println("bu1:"+bu1);

        StringBuilder bu2 = new StringBuilder("adc");
        System.out.println("bu1:"+bu2);
    }
}

 

 

常用方法
StringBuilder常用的方法有2个∶
public StringBuilder append(. . .):添加任意类型数据的字符串形式,并返回当前对象自身。

public String toString()将当前StringBuilder对象转换为String对象。

package StringBuilder_Demo01;
/*
StringBuilder类的成员方法:
    public StringBuilder append(. . .):添加任意类型数据的字符串形式,并返回当前对象自身。
    参数:
        可以是任意的数据类型
 */
public class Demo02_StringBuilder {
    public static void main(String[] args) {
        //创建StringBuilder对象
        StringBuilder stringBuilder = new StringBuilder();
//        //使用append方法往StringBuilder中添加数据
//        //append方法返回的是this,调用方法的对象bul
//        StringBuilder su = stringBuilder.append("abc");
//        System.out.println(stringBuilder);
//        System.out.println(su);
//        System.out.println(stringBuilder==su);//两个对象是同一个对象

        //使用append方法无需接收返回值
//        stringBuilder.append("abc");
//        stringBuilder.append(1);
//        stringBuilder.append(true);
//        stringBuilder.append(8.8);
//        stringBuilder.append('中');
//        System.out.println(stringBuilder);
        /*
        链式编程:方法的返回值是一个对象,可以根据对象继续调用方法
         */
        System.out.println("abc".toUpperCase().toLowerCase().toUpperCase().toLowerCase().toUpperCase());
        stringBuilder.append("abc").append(1).append(8.8).append('中').append(true);
        System.out.println(stringBuilder);
    }
}

 

posted @ 2022-07-05 16:57  zj勇敢飞,xx永相随  阅读(144)  评论(0编辑  收藏  举报