前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java:StringBuilder的基本使用

Java:StringBuilder的基本使用

作者头像
全栈程序员站长
发布2022-09-09 15:05:17
2880
发布2022-09-09 15:05:17
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

概述

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

StringBuilder与StringBuffer

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

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

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

代码语言:javascript
复制
        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() 反转顺序。

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

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

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

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

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

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

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

容量和长度

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

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

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

代码语言:javascript
复制
        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 类 | 菜鸟教程

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/160699.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • StringBuilder与StringBuffer
  • 拼接、反序、替换、删减、插入
  • 容量和长度
  • 获取内容
  • 返回匹配对应的索引
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档