Java中StringBuilder常见的操作方法

news2024/11/27 15:25:44

文章目录

  • 1.创建字符串
  • 2.追加字符串
  • 3.替换字符串
  • 4.删除字符串
  • 5.插入字符串
  • 6.字符串反转
  • 7.其他操作

在 Java 中字符串不属于基本数据类型,而是对象。Java 提供了 String 类来创建和操作字符串,但String 类是不可变类,一旦一个 String 对象被创建以后,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁。Java 提供了两个可变字符串类 StringBuffer 和 StringBuilder,中文翻译为“字符串缓冲区”。StringBuilder 和 StringBuffer 功能基本相似,方法也差不多。不同的是,StringBuffer 是线程安全的,而 StringBuilder 没有实现线程安全功能,所以性能略高。因此在通常情况下,如果需要创建一个内容可变的字符串对象,则应该优先考虑使用 StringBuilder 类。

1.创建字符串

StringBuilder是一个类,故创建字符串需要实例化。

 // 创建空字符串
 StringBuilder str=new StringBuilder();
 // 创建有值的字符串
 StringBuilder str=new StringBuilder("abcd");

2.追加字符串

StringBuilder类提供了append方法,实现了在字符串末尾追加内容。

 StringBuilder str=new StringBuilder("abcd");
 str.append("123");
 System.out.println(str);
 str.append("ABCD");
 System.out.println(str);

输出结果为:
在这里插入图片描述

3.替换字符串

StringBuilder类提供了replace方法,实现了在字符串内容的替换操作,需要注意的是替换下标区间为左闭右开。

 StringBuilder str1=new StringBuilder("abcd");
 str1.replace(1, 2, "B");
 System.out.println(str1);
 str1.replace(0,3,"123");
 System.out.println(str1);

输出结果为:
在这里插入图片描述

4.删除字符串

删除某个字符串中的字符,可以使用delete和deleteCharAt方法;delete用于删除某个区间的字符,deleteCharAt用于删除指定位置的字符。

 StringBuilder str2=new StringBuilder("hello java");
 // 删除某个区间的字符,区间左闭右开
 str2.delete(0, 5);
 System.out.println(str2);
 // 删除指定下标的字符
 str2.deleteCharAt(0);
 System.out.println(str2);

输出结果是:
在这里插入图片描述

5.插入字符串

在字符串中通过下标插入字符,可以使用insert方法。

 StringBuilder str3=new StringBuilder("hellojava");
 // 在指定下标前插入字符
 str3.insert(5, "+");
 System.out.println(str3);
 str3.insert(10, "!");
 System.out.println(str3);
 // 在字符串末尾添加字符串
 str3.insert(str3.length(), "!!");
 System.out.println(str3);

6.字符串反转

字符串反转,可以使用reverse方法。

 StringBuilder str4=new StringBuilder("ABCD");
 // 反转
 str4.reverse(); 
 System.out.println(str4);

输出结果是:
在这里插入图片描述

7.其他操作

length方法获取长度,tostring方法转为string。

StringBuilder str5 = new StringBuilder("1234");
System.out.println(str5.length());
System.out.println(str5.toString());

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1023299.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Win2016安装安全狗和DVWA

搭建安全狗之前需要先安装XAMPP,XAMPP(ApacheMySQLPHPPERL)是一个功能强大的建站集成软件包,这个软件包原来的名字是 LAMPP,这个软件类似于phpstudy,功能比phpstudy强大 Download XAMPP (apachefriends.or…

人脸图像数据增强

为什么要做数据增强 在计算机视觉相关任务中,数据增强(Data Augmentation)是一种常用的技术,用于扩展训练数据集的多样性。它包括对原始图像进行一系列随机或有规律的变换,以生成新的训练样本。数据增强的主要目的是增…

华为杯数学建模比赛经验分享

再过一周左右,第二十届华为杯数学建模比赛就要开赛了,所以今天分享一下个人数学建模比赛的经验。 今天给大家分享一期关于华为杯数学建模比赛的经验分享,我将从以下三个方面展开说明: (1)如何准备数学建模比赛&#x…

ELK日志分析系统+ELFK(Filebeat)

本章结构: 1、ELK日志分析系统简介 2、Elasticsearch介绍(简称ES) 3、Logstash介绍 4、Kibana介绍 5、实验,ELK部署 一、ELK日志分析系统简介 ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logst…

Ubuntu修改静态IP、网关和DNS的方法总结

Ubuntu修改静态IP、网关和DNS的方法总结 ubuntu系统(其他debian的衍生版本好像也可以)修改静态IP有以下几种方法。(搜索总结,可能也不太对) /etc/netplan (use) Ubuntu 18.04开始可以使用netplan配置网络&#xff0…

2.4GHz、DA14530-00000FX2射频收发器/LSM6DSOTR 6 轴运动传感器/SKY66423-11射频前端 860MHz 至 930MHz

一、2.4GHz、DA14530-00000FX2射频收发器 IC DA14530是一款超低功耗蓝牙5.1 SoC。它集成了2.4 GHz CMOS收发器和ARMCortex-M0微控制器,具有48 kB RAM和32 kB一次性可编程(OTP)存储器。无线电收发器、基带处理器和合格的Bluetooth低功耗堆栈完…

Android13适配-Google官方照片视频选择器

官方照片选择器 图 1. 照片选择器提供了一个直观的界面,便于与您的应用分享照片。 照片选择器的界面可供浏览和搜索,并按日期降序向用户显示其媒体库中的文件。如隐私保护最佳实践 Codelab 中所示,照片选择器为用户提供了一种安全的内置授权…

代码随想录算法训练营day56|583. 两个字符串的删除操作|72. 编辑距离

583. 两个字符串的删除操作 力扣题目链接 给定两个单词 word1 和 word2,找到使得 word1 和 word2 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符。 示例: 输入: “sea”, “eat” 输出: 2 解释: 第一步将"sea"变…

Android StateFlow初探

Android StateFlow初探 前言: 最近在学习StateFlow,感觉很好用,也很神奇,于是记录了一下. 1.简介: StateFlow 是一个状态容器式可观察数据流,可以向其收集器发出当前状态更新和新状态更新。还可通过其 …

【计算机毕业设计】基于SpringBoot+Vue的小区物业管理系统的设计与实现

博主主页:一季春秋博主简介:专注Java技术领域和毕业设计项目实战、Java、微信小程序、安卓等技术开发,远程调试部署、代码讲解、文档指导、ppt制作等技术指导。主要内容:毕业设计(Java项目、小程序等)、简历模板、学习资料、面试题…

【C++面向对象侯捷】6.复习Complex类的实现过程

2.考虑数据 3.考虑函数 3.1 考虑构造函数(赋初值,初始化操作) 3.2 考虑成员函数 3.3 后面添加的,friend 友元函数 4. 考虑 成员函数 实现 5. 考虑 全局函数(非成员函数) 【这里考虑为什么不设计为成员…

第七章 查找 四、分块查找

一、给每个区间分块,再建立索引表,表内数为块内最大值 二、使用顺序查找数 先在索引表内找对应区域,在通过此索引映射到对应区间,进行顺序查找。 三、查找效率分析(ASL) 查找7时,先顺序查找索…

Java Semaphore使用例子和流程

目录 Semaphore例子代码和输出semaphore.acquire();semaphore.release(); Semaphore semaphore : 英[ˈseməfɔː(r)] 美[ˈseməfɔːr] n. 旗语; 信号标; v. 打旗语; (用其他类似的信号系统)发信号; [例句]Semaphore was widely used at sea, before the advent of electr…

坚鹏:中国邮储银行金融科技前沿技术发展与应用场景第3期培训

中国邮政储蓄银行金融科技前沿技术发展与应用场景第3期培训圆满结束 中国邮政储蓄银行拥有优良的资产质量和显著的成长潜力,是中国领先的大型零售银行。2016年9月在香港联交所挂牌上市,2019年12月在上交所挂牌上市。中国邮政储蓄银行拥有近4万个营业网点…

计算机中找不到d3dcompiler47.dll怎么解决,实用解决方法推荐

d3dcompiler_47.dll是一个动态链接库文件,它是DirectX的一个组件。DirectX是一套用于处理多媒体数据的API,包括游戏和视频播放等。d3dcompiler_47.dll主要负责编译和链接顶点着色器、几何着色器和像素着色器等,以生成可执行文件。当DirectX无…

【Redis】深入探索 Redis 主从结构的创建、配置及其底层原理

文章目录 前言一、对 Redis 主从结构的认识1.1 什么是主从结构1.2 主从结构解决的问题 二、主从结构创建2.1 配置并建立从节点2.2.1 从节点配置文件2.2.2 启动并连接 Redis 主从节点2.2.3 SLAVEOF 命令2.2.4 断开主从关系 2.2 查看主从节点的信息2.2.1 INFO REPLICATION 命令2.…

2023年度教育部人文社会科学研究一般项目评审结果,已公布!

【SciencePub学术】 9月15日,教育部社科司公示了2023年度教育部人文社会科学研究一般项目评审结果,共3482项。 其中,规划基金、青年基金、自筹经费项目共3029项通过专家评审;西部和边疆地区项目200项,新疆项目20项&a…

typescript高级类型-类型兼容性

4.2类型兼容性 两种类型系统:1StructuralType System (结构化类型系统)2 NominalType System (标明类型系统)。 TS 采用的是结构化类型系统,也叫做 ducktyping (鸭子类型…?什么???你不明白什么叫鸭子类型? 伟大的鲁迅先生说过如果一个东西,看起来是鸭子,叫起来…

如何下载安装 SAP HANA Studio

什么是SAP HANA Studio SAP HANA Studio 是一个基于 Eclipse 的集成开发环境(IDE),用于以 GUI 工具的形式开发和管理 SAP HANA 数据库。 SAP HANA Studio 在客户端/开发人员计算机上运行,​​并连接到 SAP HANA 服务器。 SAP HA…

上位机通过Modbus转Profinet网关与CGV300变频器通讯案例

上位机通过Modbus转Profinet网关(XD-MDPN100)与CGV300变频器通讯的案例可以实现两个不同的通信协议之间的互联互通。在这个案例中,上位机通过Modbus协议与Profinet网关进行通信,然后通过Profinet协议与CGV300变频器进行通信。 通过…