Java API – StringBuilder的常用API

go语言

文章目录

单片机

StringBuilder

StringBuilder的API介绍

使用StringBuilder的是因为StringBuilder比String的性能更好, 使用更加方便

自动化测试

StringBuilder概述

ACM

StringBuilder是一个可变的字符串类,我们可以把它看成是一个对象容器。

xamarin

作用:提高字符串的操作效率,如拼接、修改等。

ipfs

StringBuilder的有参和无参构造器

字符串

名称 说明
public StringBuilder() 创建一个空白的可变的字符串对象,不包含任何内容
public StringBuilder(String str) 创建一个指定字符串内容的可变字符串对象

StringBuilder的常用方法

脚本

方法名称 说明
append(任意类型) 添加数据并返回StringBuilder对象本身
reverse() 将对象的内容反转
length() 返回对象内容长度
toString() 通过toString()就可以实现把StringBuilder转换为String

append方法的使用

计算机考研

append方法基本使用

js

public class StringBuilderDemo1 {
    public static void main(String[] args) {
        StringBuilder strb1 = new StringBuilder();
        strb1.append("a");
        strb1.append("b");
        strb1.append("c");
        strb1.append("我爱你中国");
        strb1.append(false);
        System.out.println(strb1); // abc我爱你中国false
    }
}

append方法的链式调用

欧洲杯

public class StringBuilderDemo1 {
    public static void main(String[] args) {
        StringBuilder strb1 = new StringBuilder();
        strb1.append("a").append("b").append(1.23).append("我爱你中国").append(false);
        System.out.println(strb1); // ab1.23我爱你中国false
    }
}

注意: 在上面代码中, 打印strb1时, 我们发现打印的是字符串, 并不是字符串的地址, 说明StringBuilder内部是重写了toString方法的

java基础

源码

kali linux

@Override
@IntrinsicCandidate
public String toString() {
    // Create a copy, don't share the array
    return isLatin1() ? StringLatin1.newString(value, 0, count)
                      : StringUTF16.newString(value, 0, count);
}

reverse方法演示

tips

public class StringBuilderDemo1 {
    public static void main(String[] args) {
        StringBuilder strb1 = new StringBuilder();
        strb1.append("a").append("b").append("c").reverse();
        System.out.println(strb1); // cba
    }
}

length方法演示

System类

public class StringBuilderDemo1 {
    public static void main(String[] args) {
        StringBuilder strb1 = new StringBuilder();
        strb1.append("a").append("b").append("c");
        System.out.println(strb1.length()); // 3
    }
}

toString方法使用

线程

StringBuilder只是拼接字符串的手段, 最终的结果还是要恢复成String类型, 我们就可以调用toString方法恢复成String类型

Audio

public class StringBuilderDemo1 {
    public static void main(String[] args) {
        StringBuilder strb1 = new StringBuilder();
        strb1.append("a").append("b").append("c");

        // 调用toString方法恢复成String类型
        strb1.toString();
        System.out.println(strb1); // abc
    }
}

小结:

抓包

为什么拼接、反转字符串建议使用StringBuilder?

batch命令

String的内容是不可变的、拼接字符串性能差。

Solana

StringBuilde的内容是可变的、拼接字符串性能好、代码优雅。

干货

StringBuilder和StringBuilder如何选择?

uni-app分包优化

定义字符串使用String

婚礼

拼接、修改等操作字符串使用StringBuilder

group by

StringBuilder的API练习

需求:

微信小程序

设计一个方法用于输出一个任意整型数组的字符串,要求输出成如下格式:

高德

“该数组内容为:[11, 22, 33, 44, 55]”

多线程

分析:

QQ机器人

1、定义一个方法,要求该方法能够接收数组,并输出数组内容。 —> 需要参数吗?需要返回值类型申明吗?

DiskGenius

2、定义一个静态初始化的数组,调用该方法,并传入该数组。

登录界面

代码展示

public class StringBuilderDemo2 {
    public static void main(String[] args) {
        int[] arr1 = null;
        System.out.println(getString(arr1));

        int[] arr2 = {101, 119, 120, 143};
        System.out.println(getString(arr2));
    }

    public static String getString(int[] arr) {
        if (arr == null) return null;
        StringBuilder strb = new StringBuilder("[");
        for (int i = 0; i < arr.length; i++) {
            strb.append(arr[i]).append(i == arr.length - 1 ? "": ", ");
        }
        strb.append("]");
        return "该数组内容为: " + strb.toString();
    }
}

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注