StringBuilder介绍和相关的功能、StringBuilder转换成String 32

StringBuilder的介绍

  • StringBuilder是一个可变的字符串类,我们可以把它看成是一个容器,这里的可变指的是StringBuilder对象的内容是可变的。
    java.lang包下的类,无需导包。
  • StringBuilder 是在一个对象中进行字符串的拼接,修改操作,性能较高。所以StringBuilder类适合做字符串的拼接\修改操作
  • String类做字符串拼接和处理的时候的问题是:
    每次拼接的时候都会放弃原来的字符串对象,而是重新指向一个新的字符串对象。 浪费内存,产生太多垃圾对象,创建新对象,指向新对象,所以String类不适合做字符串的拼接\修改操作。
    StringBuilder的拼接案例:
public class StringBuilderDemo01 {
    public static void main(String[] args) {
        String name = "赵丽颖";//不可变字符串
        name += "最美";
        name += "女演员";
        System.out.println(name);

        StringBuilder sb = new StringBuilder();
        sb.append("赵丽颖");
        sb.append("最美");
        sb.append("女演员");
        System.out.println(sb);
    }
}

StringBuilder的构造器

  • public StringBuilder(); 创建一个操作空字符串的StringBuilder对象
  • public StringBuilder(String name); 创建一个操作含有字符串的StringBuilder对象

StringBuilder有哪些功能

  • public StringBuilder append(任意类型) 拼接新类容连接在对象后面
  • public StringBuilder reverse() 把对象中的字符串进行反序
    应用:
public class StringBuilderDemo02 {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder(); //sb[""]
        sb.append("赵丽颖");
        sb.append("是演员");
        System.out.println(sb);

        StringBuilder sb1 = new StringBuilder("赵丽颖");
        sb1.append("是演员");
        System.out.println(sb1);

        StringBuilder sb2 = new StringBuilder(); //sb[""]
        sb2.append("赵丽颖").append("是").append("演员").append(12).append(true);//链式编程
        System.out.println(sb2);

        sb2.reverse();//对象内容反序
        System.out.println(sb2);
    }
}

StringBuilder转换成String

  • StringBuilder只是拼接操作字符串的手段。(手段)

  • 开发中的字符串结果还是要赋值给String类型的(目的)

  • String转换成S tringBuilder直接append进去就好了

  • StringBuilder最终转换成String必须调用toString()方法
    –public String toString()

案例:

public class StringBuilderDemo03 {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder("赵丽颖");
        sb.append("是演员").append("123").reverse();

        System.out.println(sb);

        //开发中很多时候字符串的结果还是要赋值给String类型的
        //StringBuilder() => String类型
        String result = sb.toString();//把StringBuilder拼接的字符结果又转换成字符串类的数据
        System.out.println(result);
        test(result);//现在就可以调用test了,不然不行的不然是StringBuilder类型不是String类型

    }

    public static void test(String name){

    }
}

注意:String类型的只能用String类型来接受,不可以用StringBuilder来接受必须要用toString转换格式。

发布了34 篇原创文章 · 获赞 16 · 访问量 272

猜你喜欢

转载自blog.csdn.net/qq_41005604/article/details/105297794