首页 > 其他分享 >StringBuilder类分享(2)

StringBuilder类分享(2)

时间:2023-08-30 19:01:05浏览次数:38  
标签:insert return int StringBuilder str 分享 public

一、StringBuilder说明

StringBuilder是一个可变的字符序列。这个类提供了一个与StringBuffer兼容的API,但不保证同步,即StringBuilder不是线程安全的,而StringBuffer是线程安全的。显然,StringBuilder要运行的更快一点。

这个类被设计为在字符串缓冲区所在的地方作为StringBuffer的临时替代品使用由单个线程使用(通常是这样)。在可能的情况下,建议优先使用该类而不是StringBuffer,因为在大多数实现中它会更快。

二、StringBuilder常用方法

(5)插入(修改)方法

@Override
public StringBuilder insert(int index, char[] str, int offset, int len){
        super.insert(index, str, offset, len);
        return this;
    }

    
@Override
public StringBuilder insert(int offset, Object obj) {
        super.insert(offset, obj);
        return this;
    }

  
@Override
public StringBuilder insert(int offset, String str) {
        super.insert(offset, str);
        return this;
    }

@Override
public StringBuilder insert(int offset, char[] str) {
        super.insert(offset, str);
        return this;
    }


@Override
public StringBuilder insert(int dstOffset, CharSequence s) {
        super.insert(dstOffset, s);
        return this;
    }

@Override
public StringBuilder insert(int dstOffset, CharSequence s, int start, int end){
        super.insert(dstOffset, s, start, end);
        return this;
    }


@Override
public StringBuilder insert(int offset, boolean b) { // 这里的第二个入参还可以替换为char,int,float,long,double
        super.insert(offset, b);
        return this;
    }

@Override
public StringBuilder replace(int start, int end, String str) { // 替换方法
    super.replace(start, end, str);
    return this;
}

(6)查询方法(类似于String中的查询从某个索引位置0/fromIndex开始字符串str第一次/最后一次出现的索引位置的方法)

@Override
public int indexOf(String str) {
        return super.indexOf(str);
    }

@Override
public int indexOf(String str, int fromIndex) {
        return super.indexOf(str, fromIndex);
    }

@Override
public int lastIndexOf(String str) {
        return super.lastIndexOf(str);
    }

@Override
public int lastIndexOf(String str, int fromIndex) {
        return super.lastIndexOf(str, fromIndex);
    }

(7)反转StringBuilder

@Override
public StringBuilder reverse() {
        super.reverse();
        return this;
    }

(8)toString()方法

@Override
public String toString() {
        // Create a copy, don't share the array
        return new String(value, 0, count); // 返回了一个新的String类型的字符串
    }


标签:insert,return,int,StringBuilder,str,分享,public
From: https://blog.51cto.com/u_15974582/7296106

相关文章

  • 电脑技巧:分享几个Win11使用小技巧,值得收藏!
    Windows11作为微软最新推出的操作系统,应该有很多人已经升级使用了,相比之前的Windows10版本,在界面和操作方面上都有很多改进和优化。下面小编给大家整理一下几个Win11实用的小技巧,希望对大家日常使用电脑能提供一些帮助!1、自定义任务栏Windows11的任务栏可以自定义,您可以将常用的......
  • StringBuilder类分享(1)
    一、StringBuilder说明StringBuilder是一个可变的字符序列。这个类提供了一个与StringBuffer兼容的API,但不保证同步,即StringBuilder不是线程安全的,而StringBuffer是线程安全的。显然,StringBuilder要运行的更快一点。这个类被设计为在字符串缓冲区所在的地方作为StringBuffer的临时......
  • 技术分享 | RCU :内核小“马达”,让你的产品弯道超车
    在上一篇文章《编程界也内卷?浅析“斜杠青年”RCU 》中,鼎道智联带着大家一起认识了并行编程,了解了什么是RCU,相信大家已经对RCU的特点和如何实现Reader无锁有了一定的了解。今天就带着大家继续从RCU的实现入手,一起看看在实际操作中,并行编程是如何实现的!RCU的实现原理可以概......
  • 杂题分享
    计数P6672[清华集训2016]你的生命已如风中残烛题意给你一个长度为\(m\)的序列\(W\),其中\(n\)个\(w_i\geq1\),\(\Sigmaw_i[w_i\geq1]=m\),拿到一个\(w_i\)可以往后拿\(w_i\)个数,求在\(m!\)中有多少种排列可以拿到第\(m+1\)的数。简化我们将每个数减一,原......
  • [java基础知识复习] Java基础知识总结分享一
    写代码:1,明确需求。我要做什么?2,分析思路。我要怎么做?1,2,3。3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。4,代码实现。用具体的java语言代码把思路体现出来。学习新技术的四点:1,该技术是什么?2,该技术有什么特点(使用注意):3,该技术怎么使用。demo4,该技术什么时候用?test。————......
  • 标题:工作中如何保持稳定的情绪?我的看法和经验分享
    近期发生的新闻热点再度引发公众对稳定情绪和心理健康的关注。有时候我们遇到的最大的敌人,不是运气也不是能力,而是失控的情绪和口无遮拦的自己。如何在工作中保持稳定的情绪?谈谈你的看法。 简介:在职场中,我们经常面对各种挑战和压力,这往往会引发情绪的波动和不稳定。本文将分享我......
  • 开发了一个json格式化工具,使用js格式化json的代码分享
    今天给大家介绍一下如何通过js来格式化json。假设json字符串是:{"name":"刘德华","age":25.2,"birthday":"1990-01-01"}我们使用的是Js的JSON方法先把json字符串转为json对象,方法如下:varjsonString='{"name":"刘德华","age":35.2......
  • [Android 分享] [教程] 微信抓不到包?根本不存在!----一招搞定微信内置浏览器抓包
    [教程]微信抓不到包?根本不存在!----一招搞定微信内置浏览器抓包-『移动安全区』-吾爱破解-LCG-LSG|安卓破解|病毒分析|www.52pojie.cn 所需工具1.一部手机2.一台电脑3.一条数据线情景模拟某个网页只能在微信中打开,但我想要抓包调试怎么办?1.HttpCannary(小......
  • Python分享之redis(3)
    3、List操作redis中的List在在内存中按照一个name对应一个List来存储lpush(name,values)#在name对应的list中添加元素,每个新的元素都添加到列表的最左边r.lpush("list_name",2)r.lpush("list_name",3,4,5)#保存在列表中的顺序为5,4,3,2rpush(name,values)#同lpush,但每个新的元素......
  • 【专题】2022品牌营销决策解决方案报告PDF合集分享(附原数据表)
    全文链接:https://tecdat.cn/?p=33511根据报告合集显示,在消费者的亲友分享、社交平台、订单评价等环节,00后表现出活跃的参与度,而90后和95后在部分环节也较为活跃。相比之下,70后和80后在分享中的参与度最低,主要以亲友分享为主。阅读原文,获取专题报告合集全文,解锁文末335份品牌营销......