Java:StringBuilder的基本使用

Java:StringBuilder的基本使用概述StringBuilder表面看起来是用来拼接、处理字符串的一个工具类,但它的内部实现其实是处理字符序列。StringBuilder比String具有使用更加方便、运行效率更高的特点。StringBuffer是在StringBuilder的基础上多了线程安全(同步访问)。拼接、反序、替换、删减、插入append(),用于拼接,可接受字符串以及所有的基本数据类型的数据。StringBuildersb=newStringBuilder();sb.ap

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

概述

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 类 | 菜鸟教程

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • ATECC508A芯片开发笔记(七):实现数字签名(Sign)并校验(Verify)证书签名

    ATECC508A芯片开发笔记(七):实现数字签名(Sign)并校验(Verify)证书签名ATECC508A芯片开发笔记(七):实现对数据数字签名(Sign)并验证(Verify)证书签名一、数据签名、验证基本流程二、利用508对数据签名并验证代码实现:三、X.509证书验证本节介绍利用508对证书数据进行签名、验证的步骤和原理。一、数据签名、验证基本流程由网络安全知识我们知道,对数据进行签名,其实就是用私钥加密而已,而验证签名就是用该私钥对应的公钥进行解密。而如果对整个数

  • 强烈推荐android studio用的几个插件[通俗易懂]

    强烈推荐android studio用的几个插件

  • Jenkins(3)拉取git仓库代码,执行python自动化脚本[通俗易懂]

    Jenkins(3)拉取git仓库代码,执行python自动化脚本[通俗易懂]前言python自动化的脚本开发完成后需提交到git代码仓库,接下来就是用Jenkins拉取代码去构建自动化代码了新建项目打开Jenkins新建一个自由风格的项目源码管理Repository

  • 分享一个免费版本库可以建私库

    分享一个免费版本库可以建私库别的不多说目前这个行业小团队比较多,想要版本库的话  看下面  反正我个人一直在用  所以就推荐给你们。我不介绍github,和gitorious因为github在私人库的时候是收费的而最早的gitorious是没办法建私人库开源是帮助了很多人但如果你是一个小团队想找一个比较好而又免费的版本库的话我推荐使用bitbucket能建立免费私人库容量是无限大支持5人小团队一起合作

  • linux clion激活码_通用破解码

    linux clion激活码_通用破解码,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • HDFS常用命令的学习

    HDFS常用命令的学习HDFS常用命令的学习文章目录HDFS常用命令的学习1.hadoopfs,hadoopdfs,hdfsfs,hdfsdfs区别2.Hadoop命令3.HDFS常用命令命令的使用常用命令示例小结hdfs与getconf结合使用hdfs与dfsadmin结合使用hdfs与fsck结合使用其他命令4.安全模式1.hadoopfs,hadoopdfs,hdfsfs,hdfsdfs区别fs与dfs有什么区别呢?fs是文件系统,dfs是分布式文件系统。fs

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号