当前位置: 首页 > news >正文

StringBuilder类分享(1)

一、StringBuilder说明

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

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


二、StringBuilder常用方法

(1)无参构造函数

 

public StringBuilder() {super(16); // 调用父类的构造方法,并默认初始化长度为16
}
其中super(16)表示:AbstractStringBuilder(int capacity) {value = new char[capacity]; // 初始化一个长度为16的char型可变数组
}

(2)有参构造(两种)

public StringBuilder(String str) {super(str.length() + 16); // 通常调用父类的构造方法,但参数为传入字符串的长度+16append(str); // 将入参str添加到stringbuilder中}public StringBuilder(CharSequence seq) { // CharSequence 是一个描述字符串结构的接口,在这个接口里一共有三个常用的子类:String,StringBuffer,StringBuilderthis(seq.length() + 16);append(seq);}

(3)添加方法

public StringBuilder append(StringBuffer sb) {super.append(sb);return this;}@Override
public StringBuilder append(CharSequence s) {super.append(s);return this;}@Override
public StringBuilder append(CharSequence s, int start, int end) {super.append(s, start, end);return this;}@Override
public StringBuilder append(char[] str) {super.append(str);return this;}@Override
public StringBuilder append(char[] str, int offset, int len) {super.append(str, offset, len);return this;}@Override
public StringBuilder append(boolean b) { // 这里的入参还可以替换为char,int,float,long,doublesuper.append(b);return this;}

(4)删除方法

@Override
public StringBuilder delete(int start, int end) {super.delete(start, end); // 删除[start, end)区间内的字符串return this;}@Override
public StringBuilder deleteCharAt(int index) { // 删除指定索引位置的字符串super.deleteCharAt(index);return this;}

 

相关文章:

StringBuilder类分享(1)

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

Qt 打开文件列表选择文件,实现拖拽方式打开文件

1. 实现打开文件列表选择文件 1.1. 创建 Qt 工程,并添加几个简单控件 这里笔者选用的是 QMainWindow,创建好工程后在 ui 界面设计中添加 QLineEdit、QPushBtton至少这两个控件,如下图摆放。 1.2. 头文件中添加相关操作 在 mainwindow.h 中…...

[C/C++]天天酷跑游戏超详细教程-上篇

个人主页:北海 🎐CSDN新晋作者 🎉欢迎 👍点赞✍评论⭐收藏✨收录专栏:C/C🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!&#x1f9…...

5G NR:RACH流程 -- Msg1之选择正确的PRACH时频资源

PRACH的时域资源是如何确定的 PRACH的时域资源主要由参数“prach-ConfigurationIndex”决定。拿着这个参数的取值去协议38211查表6.3.3.2-2/3/4,需要注意根据实际情况在这三张表中进行选择: FR1 FDD/SULFR1 TDDFR2 TDD Random access preambles can onl…...

在vue3项目中编辑的时候,解决对话框里边的数据和列表中的数据联动了。深复制

//分析原因是从列表中拿到的数据直接复制去修改就涉及到堆里变的内容是一样的&#xff0c;直接复制其实只是把引用地址赋值给变量了&#xff0c;解决方法是 浅复制和深复制。<!-- 审批流程管理 --> <template><div style"float: left; width: 250px;backgr…...

循环结构(个人学习笔记黑马学习)

while循环语句 在屏幕中打印0~9这十个数字 #include <iostream> using namespace std;int main() {int i 0;while (i < 10) {cout << i << endl;i;}system("pause");return 0; } 练习案例: 猜数字 案例描述:系统随机生成一个1到100之间的数字&…...

ceph中PGLog处理流程

正文 struct pg_log_entry_t {ObjectModDesc mod_desc; //用于保存本地回滚的一些信息&#xff0c;用于EC模式下的回滚操作bufferlist snaps; //克隆操作&#xff0c;用于记录当前对象的snap列表hobject_t soid; …...

macOS使用命令行连接Oracle(SQL*Plus)

Author: histonevonzohomail.com Date: 2023/08/25 文章目录 SQL\*Plus安装下载环境配置 SQL\*Plus远程连接数据库参考文献 原文地址&#xff1a;https://histonevon.top/archives/oracle-mac-sqlplus数据库安装&#xff1a;Docker安装Oracle数据库 (histonevon.top) SQL*Plus…...

Mac下使用Homebrew安装MySQL5.7

Mac下使用Homebrew安装MySQL5.7 1. 安装Homebrew & Oh-My-Zsh2. 查询软件信息3. 执行安装命令4. 开机启动5. 服务状态查询6. 初始化配置7. 登录测试7.1 终端登录7.2 客户端登录 参考 1. 安装Homebrew & Oh-My-Zsh mac下如何安装homebrew MacOS安装Homebrew与Oh-My-Zsh…...

centos安装Nginx配置Nginx

1. 查看操作系统有没有安装Nginx which nginx 2. 使用epel的方式进行安装&#xff08;方法二&#xff09; 先安装epel sudo yum install yum-utils 安装完成后&#xff0c;查看安装的epel包即可 sudo yum install epel 3 开始安装nginx 上面的两个方法不管选择哪个&…...

Linux环境下搭建使用缓存中间件Redis

缓存中间件Redis搭建与使用 前言正文1 提供安装环境2 下载安装3 修改启动配置4 启动服务5 使用6 关闭服务7 卸载 前言 redis服务将在linux系统中部署&#xff0c;本文前提是已经搭建一个linux系统&#xff0c;并配置好网络等。使用vmware搭建一个linux系统&#xff0c;可以参考…...

Oracle 本地客户端连接远程 Oracle 服务端并使用 c# 连接测试

这里写自定义目录标题 前言Oracle 客户端安装先决条件下载 Oracle 客户端Oracle 客户端环境变量配置 PL/SQLPL/SQL 下载PL/SQL 配置 配置远程连接tnsnames.ora 文件配置 使用 PL/SQL 连接远程数据库使用 C# 远程访问 Oracle 数据库结语 前言 最近有一个需要使用本地的 Oracle …...

java中上传文件先下载到本地再上传还有就是直接通过文件流url地址进行上传优缺点?

在Java中上传文件到SFTP服务器时&#xff0c;有两种常见的方法&#xff1a;先下载到本地再上传和直接使用文件流URL地址进行上传。每种方法都有其优点和缺点&#xff0c;下面是对它们的简要比较&#xff1a; 先下载到本地再上传&#xff1a; 优点&#xff1a; 可以在本地对文件…...

华为复合vlan(mux vlan)

一、概念&#xff1a; Multiplex vlan&#xff1a;实现网络资源控制的的机制。 / Principle vlan&#xff1a;port 可以和mux vlan内所有接口进行通信&#xff0c;限制128个 < /Separate vlan&#xff1a;隔离型从vlan&#xff0c;只能和…...

第62步 深度学习图像识别:多分类建模(Pytorch)

基于WIN10的64位系统演示 一、写在前面 上期我们基于TensorFlow环境做了图像识别的多分类任务建模。 本期以健康组、肺结核组、COVID-19组、细菌性&#xff08;病毒性&#xff09;肺炎组为数据集&#xff0c;基于Pytorch环境&#xff0c;构建SqueezeNet多分类模型&#xff0…...

GPT带我学-设计模式-适配器模式

1 什么是适配器设计模式 适配器设计模式是一种结构性设计模式&#xff0c;用于在不兼容的接口之间进行转换。它允许将一个类的接口转换成客户端所期望的接口。 适配器模式包含以下几个角色&#xff1a; 目标接口&#xff08;Target&#xff09;&#xff1a;定义客户端所期望…...

Pyecharts教程(七):使用pyecharts创建堆叠柱状图的示例

Pyecharts教程(七):使用pyecharts创建堆叠柱状图的示例 作者:安静到无声 个人主页 目录 Pyecharts教程(七):使用pyecharts创建堆叠柱状图的示例完整代码推荐专栏在数据可视化中,柱状图是一种常见的图表类型,它可以清晰地展示各类别之间的比较关系。然而,如果我们想要在同…...

C++中的强制转换的常用类型及应用场景详解

C中的强制转换的常用类型及应用场景详解 文章目录 C中的强制转换的常用类型及应用场景详解一、静态转换&#xff08;static_cast&#xff09;二、动态转换&#xff08;dynamic_cast&#xff09;三、常量转换&#xff08;const_cast&#xff09;四、重新解释转换&#xff08;rei…...

ubuntu调整时区

ubuntu在新装系统的时候&#xff0c;所用的时区不一定是8的时区&#xff0c;需要设置一下&#xff0c;否则执行cron等定时任务的时候&#xff0c;时间就会不对 查看当前系统的时区 date -R tzselect 选择时区&#xff0c;但是没用 ,作用可能就是 选择时区 设置时区&#xff1a;…...

mybatis:动态sql【2】+转义符+缓存

目录 一、动态sql 1.set、if 2.foreach 二、转义符 三、缓存cache 1. 一级缓存 2. 二级缓存 一、动态sql 1.set、if 在update语句中使用set标签&#xff0c;动态更新set后的sql语句&#xff0c;&#xff0c;if作为判断条件。 <update id"updateStuent" pa…...

SVN 报错 Previous operation has not finished,提示需要 clean up

SVN报错"Previous operation has not finished"通常是由于操作中断导致工作副本被锁定。 解决方法按优先级推荐&#xff1a; 1&#xff09;首选执行Cleanup操作&#xff0c;勾选"Cleanup working copy status"和"Break write locks"&#xff1b;…...

3分钟搞定M3U8视频下载:N_m3u8DL-CLI-SimpleG完整指南

3分钟搞定M3U8视频下载&#xff1a;N_m3u8DL-CLI-SimpleG完整指南 【免费下载链接】N_m3u8DL-CLI-SimpleG N_m3u8DL-CLIs simple GUI 项目地址: https://gitcode.com/gh_mirrors/nm3/N_m3u8DL-CLI-SimpleG 还在为无法下载在线视频而烦恼吗&#xff1f;想保存喜欢的教学视…...

黎阳之光人员无感技术——赋能边防与城市智慧发展

无感戍边 数筑屏障&#xff5c;黎阳之光人员无感技术赋能智慧边防建设在国家边境安全防控体系建设中&#xff0c;边防工作始终承担着守护国土、防范风险、维护边境稳定的重要职责。我国边境线地理环境复杂&#xff0c;涵盖高原、荒漠、口岸、界江等多元场景&#xff0c;气候条件…...

如何实现百度网盘效率革命?BaiduPanFilesTransfers智能管理工具深度解析

如何实现百度网盘效率革命&#xff1f;BaiduPanFilesTransfers智能管理工具深度解析 【免费下载链接】BaiduPanFilesTransfers 百度网盘批量转存、分享和检测工具 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduPanFilesTransfers 还在为海量网盘资源的手动整理而消…...

罗技鼠标宏完整实现方案:从Lua脚本到PUBG精准射击的进阶指南

罗技鼠标宏完整实现方案&#xff1a;从Lua脚本到PUBG精准射击的进阶指南 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 在竞技射击游戏《绝地求…...

Windows右键菜单性能优化终极指南:5个步骤彻底解决右键菜单卡顿问题

Windows右键菜单性能优化终极指南&#xff1a;5个步骤彻底解决右键菜单卡顿问题 【免费下载链接】ContextMenuManager &#x1f5b1;️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是否曾经在Windows系统中遇到这…...

如何通过智能包装系统提升全链条的数字化与协同效率?

本段聚焦全链条数字化升级的核心路径&#xff0c;通过 智能包装系统实现 原材料到成品的数据共享与流程对齐。以原材料入库、生产、成品出库为主线&#xff0c;建立统一的数据模型、模块化接口与可追溯闭环&#xff0c;推动 协同优化与成本控制。结合 中科天工智能包装设备与 中…...

工程机械重型车辆检测数据集 YOLO格式

数据集格式&#xff1a;YOLO格式(包含jpg图片以及对应的yolo格式的txt标注文件) 图片预览&#xff1a; 标注例子&#xff1a; 图片数量(jpg文件个数)&#xff1a;6338 标注数量(txt文件个数)&#xff1a;6338 标注类别数&#xff1a;7 标注类别名称:["Bull_dozer"…...

从推荐逻辑到库存架构:木鸟民宿、携程民宿、爱彼迎场景化服务技术对比

摘要从技术和产品设计的角度看&#xff0c;木鸟民宿、携程民宿、爱彼迎三家平台在场景化服务上究竟走了怎样不同的技术路径&#xff1f;各自用了哪些手段把“住宿”这件事匹配到用户真实的生活场景里&#xff1f;三家平台在技术落地上各有侧重。木鸟民宿主打“标签化即时确认”…...

超导量子比特控制技术:DRAG与神经网络优化

1. 超导量子比特控制技术概述在超导量子计算系统中&#xff0c;精确的量子态操控是实现高保真度量子门操作的基础。传统微波脉冲控制面临两大核心挑战&#xff1a;非绝热跃迁导致的能级泄漏和频率失谐引起的操作误差。DRAG&#xff08;Derivative Removal by Adiabatic Gate&am…...