4. StringBuilder类和StringBuffer类

StringBuilder的效率相对更高。

1. StringBuffer类

(1)概述

5c72ba7b2705d56cae7d92b49fea8282

(2)继承关系

57212a62138f601c764f0d414b2c9acf

(3)String与StringBuffer

4e2c25d5366237aa90d45db2bd8dfd69

(4)代码示例

994aca6d98f5c39228ab11b5c5365404

(5)构造器

766b69aad5857e35ce73a6180328748f

代码示例

package com.baidu.www;

public class Test {
    public static void main(String[] args) {
        // StringBuffer
        StringBuffer sb = new StringBuffer(); // 16

        StringBuffer sb1 = new StringBuffer(100);

        StringBuffer sb2 = new StringBuffer("hello"); // length + 16
    }
}

(6)String与StringBuffer的转换

3aacb5c27930d945a4b46030d36d0417

(7)StringBuffer类常用方法

da0192ae108bea3a7e08a63a54941095

(8)深度思考

826021c53885348dea8d94d1538ff3c8
da63cd497bb2863237c708c16d0f5057

2. StringBuilder类

(1)概述

530d6c7efea6ca4ead2cbaa30b2e614b

(2)继承关系

0366bb9d130469e1fcf6c81017436446

代码示例

package com.baidu.www;

/**
 * StringBuilder
 *      简介:
 *          可变字符序列,用于构造字符串对象,内部使用自动扩容的数组操作字符串数据,StirngBuilder和StringBuffer使用相同的API。
 *      构造方法:
 *          StringBuilder();       构造一个空的StringBuilder容器
 *          String toString();     构造一个StringBuilder容器,并添加指定字符串
 *      成员方法:
 *          StringBuilder append(...); 将任意数据添加到StringBuilder容器中,返回自身!!!
 *          String toString();         将当前StringBuilder容器转成字符串
 */

public class Test {
    public static void main(String[] args) {
        // 测试构造方法
        // 测试空参构造方法
        StringBuilder sb = new StringBuilder();
        sb.append("abc");
//        StringBuilder sb2 = sb.append("abc");

        System.out.println(sb);
//        System.out.println(sb2);

        System.out.println("=================================");
        // 需求:将String类型的“abc”转成StringBuilder类型的对象
        StringBuilder sb3 = new StringBuilder("abc");
        System.out.println(sb3);

        System.out.println("=================================");
        // 需求:将三个字符串拼接成一个新的字符串
        StringBuilder sb4 = new StringBuilder();
        sb4.append("1");
        sb4.append("2");
        sb4.append("刷");
        System.out.println(sb4);

        System.out.println(sb4.toString()); // String
    }
}

(3)三者比较

30f14b3ce440fd17572b3c603b5c123e

(4)效率测试

64790b3b8d9d56dba4cbf67eb74ddfa6
image

(5)三者选择

image

posted @ 2025-08-20 19:14  无敌美少女战士  阅读(3)  评论(0)    收藏  举报