StringBuilder类

String与StringBuilder

  • String类与StringBuilder类原理

  • StringBuilder构造方法
/*
java.lang.StringBuilder类:字符串缓冲区,可以提高字符串的效率
构造方法:
    StringBuilder() 构造一个没有字符的字符串构建器,初始容量为16个字符。
    StringBuilder(String str) 构造一个初始化为指定字符串内容的字符串构建器。
 */
public class Demo01StringBuilder {
    public static void main(String[] args) {
        //空参数构造方法
        StringBuilder bu1 = new StringBuilder();
        System.out.println("bu1:"+bu1);//bu1: ""

        //带字符串的构造方法
        StringBuilder bu2 = new StringBuilder("abc");
        System.out.println("bu2"+bu2);//bu2: abc
    }
}

  • StringBuilder对象的创建及append()方法,toString()方法
import java.util.Locale;

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

 */
public class Demo02StringBuilder {
    public static void main(String[] args) {
        //创建StringBuilder对象
        StringBuilder bu = new StringBuilder();
        //使用append方法往StringBuilder中添加数据
        //append方法返回的是this,调用方法的对象bu,this==bu
        //StringBuilder bu2 = bu.append("abc");//把bu的地址赋值给了bu2
        //System.out.println(bu);//"abc"
        //System.out.println(bu2);//"abc"
        //System.out.println(bu==bu2);//比较的是地址 true

        //使用append方法无需接收返回值
        //bu.append("abc");
        //bu.append(1);
        //bu.append(true);
        //bu.append(8.8);
        //bu.append('中');
        //System.out.println(bu);//abc1true8.8中

        /*
        链式编程:方法返回值是一个对象,可以继续调用方法
         */
        System.out.println("abc".toUpperCase().toUpperCase().toUpperCase().toLowerCase());
        bu.append("abc").append(1).append(true).append(8.8).append('中');
        System.out.println(bu);
    }
}
====================================================================================
/*
StringBuilder和String可以相互转换:
    String -> StringBuilder:可以使用StringBuilder的构造方法
        StringBuilder(String str) 构造一个初始化为指定字符串内容的字符串构建器。
    StringBuilder -> String:可以使用StringBuilder中的toString方法
        public String toString():将当前StringBuilder对象转换为String对象
 */
public class Demo03StringBuilder {
    public static void main(String[] args) {
        //String -> StringBuilder
        String str = "hello";
        System.out.println("str:"+str);
        StringBuilder bu = new StringBuilder(str);
        //往StringBuilder中添加数据
        bu.append("world");
        System.out.println("bu:"+bu);
        //StringBuilder -> String
        String s = bu.toString();
        System.out.println("s:"+s);

    }
}

posted @ 2021-11-20 21:04  wydilearn  阅读(34)  评论(0编辑  收藏  举报