Java:StringBuilder的基本使用

本文详细介绍了Java中StringBuilder类的使用,包括拼接、反转、替换、删除、插入等操作,以及容量和长度的管理。示例代码展示了如何进行字符串处理,并提及线程安全的StringBuffer。同时,提到了获取内容的方法如charAt、substring和toString,以及查找匹配的索引功能。文章适合Java初学者和开发者了解StringBuilder的基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

StringBuilder表面看起来是用来拼接、处理字符串的一个工具类,但它的内部实现其实是处理字符序列。

StringBuilder与StringBuffer

  • StringBuilder与StringBuffer具有相同的功能。
  • StringBuffer支持了线程安全(同步访问)。
  • 下文仅以StringBuilder举例。
    在这里插入图片描述

拼接、反序、替换、删减、插入

void append(XXX xxx)
拼接,可接收大部分基本数据类型、String、char[]等等,甚至能接收StringBuilder。

        StringBuilder sb = new StringBuilder();
        sb.append(8).append("乘以").append(6.6).append('=').append(true);
        sb.append(new StringBuilder("!!!"));
        System.out.println(sb); // 输出结果为:8乘以6.6=true!!!

void reverse()
反转顺序。

        StringBuilder sb = new StringBuilder("猪头大一来过上海");
        sb.reverse();
        System.out.println(sb); // 输出结果为:海上过来一大头猪

void replace(int start, int end, String str)
根据索引把某部分替换成其它的。

        StringBuilder sb = new StringBuilder("春眠不觉晓,处处闻啼鸟。");
        sb.replace(8, 11, "蚊子咬");
        System.out.println(sb); // 输出结果为:春眠不觉晓,处处蚊子咬。

void delete(int start, int end)
根据索引删减某部分。

        StringBuilder sb = new StringBuilder("爸爸的脸蛋有很多褶皱");
        sb.delete(3, 4);
        System.out.println(sb); // 输出结果为:爸爸的蛋有很多褶皱

void insert(int offset, XXX xxx)
在索引位置插入一段。

        StringBuilder sb = new StringBuilder("《摔跤吧!爸爸》");
        sb.insert(3, "了");
        System.out.println(sb); // 输出结果为:《摔跤了吧!爸爸》

容量和长度

new StringBuilder(int capacity)
StringBuilder默认的初始容量是16,可用带参构造器来自定义初始容量。
当字符个数达到了当前容量,则容量会自动提升,容量提升的规律为:新容量 = 旧容量 * 2 + 2。

int capacity()
返回当前字符序列的容量。

int length()
返回当前已存储的字符的个数。

        StringBuilder sb = new StringBuilder(6);
        sb.append("执子之手,方知子丑。");
        System.out.println(sb.capacity()); // 转出结果为:26
        System.out.println(sb.length()); // 转出结果为:10

获取内容

char charAt(int index),根据索引,得到相应字符。
String substring(int start),根据索引,以字符串形式截取尾部段。
String substring(int start, int end),根据索引,以字符串形式截取内部段。
String toString(),以字符串形式输出整段。

返回匹配对应的索引

int indexOf(String str),输出第一个匹配的索引。
int indexOf(String str, int fromIndex),从指定的索引处开始,输出第一个匹配的索引。
int lastIndexOf(String str),输出最后一个匹配的索引。
int lastIndexOf(String str, int fromIndex),从指定的索引处开始,输出最后一个匹配的索引。

想知道更多StringBuilder的用法,请浏览Java StringBuffer 和 StringBuilder 类 | 菜鸟教程

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rex Chou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值