(JAVA):字符串的修改------StringBuffer类的常见API

简介: (JAVA):字符串的修改------StringBuffer类的常见API

目录

前言:

1、charAt() 方法

声明:

功能:

代码示例:

2、indexOf() 方法

代码示例:

3、delete() 方法

声明:

功能:

补充:

代码示例:

分析:

4、replace()方法

声明:

功能:

代码示例:

分析:

5、reverse() 方法

声明:

功能:

代码示例:

6、setCharAt() 方法

声明:

功能:

代码示例:

注意:这种写法不对!

7、小结:



前言:

                                       努力做到尽善尽美

      在尘世中,没有天生完美的人。但你只要每天不断进取,做到德业兼修,最终会成为尽善尽美的人,获得名声显赫的成就。完美的人应该具备品位高雅、头脑清晰、意志坚定、判断精准的特征。因为或多或少的欠缺,有的人无法达到完美。完美的人总是在语言中显露着智慧,在行动中流露着谨慎,人们愿意与贤能通达之人结交,喜欢与他们同行。



1、charAt() 方法

声明:

       char charAt(int index)

功能:

       返回此序列中指定索引处的 char 值。

代码示例:

StringBuffer str2 = new StringBuffer("the stringbuffer search class"); 
System.out.println(str2.charAt(5)); //输出索引位置5上的字符t


2、indexOf() 方法

代码示例:

StringBuffer str2 = new StringBuffer("the stringbuffer search class"); //初始化
System.out.println(str2.indexOf("search")); //输出字符串search的索引位置
System.out.println(str2.indexOf("s",10)); //从索引位置10开始寻找下一个s所在的位置

结果:

       17

       17


3、delete() 方法

声明:

       delete(int start, int end)

功能:

       移除此序列的子字符串中的字符。

补充:

       deleteCharAt() 方法:删除指定索引位置上的字符

代码示例:

StringBuffer str2 = new StringBuffer("the stringbuffer search class"); //初始化
System.out.println(str2.delete(0,3)); //删除索引0到索引3位置上的字符
System.out.println(str2.deleteCharAt(5)); //删除索引位置5上的字符

运行结果:

                stringbuffer search class

                strigbuffer search class

分析:

       StringBuffer 中的delete 方法能够很灵活地删除字符串中的数据,配合insert()方法可以快速的实现字符串的修改操作。从结果看,StringBuffer对象的修改是持续的。


4、replace()方法

声明:

       replace(int start, int end, String str)

功能:

       使用给定 String 中的字符替换此序列的子字符串中的字符。

代码示例:

StringBuffer str2 = new StringBuffer("strigbuffer search class"); //初始化
System.out.println(str2.replace(0,2,"who")); //把索引0到索引2的字符用who代替

运行结果:

               whotrigbuffer search class

分析:

       StringBuffer 的replace方法与String 的replace 方法有所不同。在String中,replace()方法会替换符合条件的所有字符,其参数是两个字符串:一个匹配项和一个匹配后需要将其匹配项替换的字符串。在StringBuffer 中,replace() 则是三个数,分别是起始索引位置、结束索引位置和需要将此索引区间替换的字符串项。在需要替换预定格式的字符串的固定位置序列时非常方便。


5、reverse() 方法

声明:

       reverse(string str)

功能:

       将字符串str进行反转。

代码示例:

StringBuffer str2 = new StringBuffer("whotrigbuffer search class"); //初始化
System.out.println(str2.reverse()); //将str2中的数据进行翻转

运行结果:

               ssalc hcraes reffubgirtohw


6、setCharAt() 方法

声明:

               void setCharAt(int index, char ch)

功能:

               将给定索引处的字符设置为 ch

代码示例:

StringBuffer str2 = new StringBuffer("ssalc hcraes reffubgirtohw");
str2.setCharAt(0,'A');
System.out.println(str2); //将0索引位置的字符替换为A

运行结果:

               Asalc hcraes reffubgirtohw

注意:这种写法不对!

System.out.println(str2.setCharAt(0,'A'));

结果:所以只能分开写,不能合上。


7、小结:

       在StringBuffer的输出中不难看出,它对于字符串的操作也是“含头不含尾”的处理方式。在替换索引位置0至索引位置2 的操作中,替换操作只替换了索引位置0和索引位置1。


相关文章
|
26天前
|
安全 Java API
【Java字符串操作秘籍】StringBuffer与StringBuilder的终极对决!
【8月更文挑战第25天】在Java中处理字符串时,经常需要修改字符串,但由于`String`对象的不可变性,频繁修改会导致内存浪费和性能下降。为此,Java提供了`StringBuffer`和`StringBuilder`两个类来操作可变字符串序列。`StringBuffer`是线程安全的,适用于多线程环境,但性能略低;`StringBuilder`非线程安全,但在单线程环境中性能更优。两者基本用法相似,通过`append`等方法构建和修改字符串。
44 1
|
23天前
|
安全 Java API
告别繁琐编码,拥抱Java 8新特性:Stream API与Optional类助你高效编程,成就卓越开发者!
【8月更文挑战第29天】Java 8为开发者引入了多项新特性,其中Stream API和Optional类尤其值得关注。Stream API对集合操作进行了高级抽象,支持声明式的数据处理,避免了显式循环代码的编写;而Optional类则作为非空值的容器,有效减少了空指针异常的风险。通过几个实战示例,我们展示了如何利用Stream API进行过滤与转换操作,以及如何借助Optional类安全地处理可能为null的数据,从而使代码更加简洁和健壮。
56 0
|
15天前
|
Java API 开发者
【Java字节码操控新篇章】JDK 22类文件API预览:解锁Java底层的无限可能!
【9月更文挑战第6天】JDK 22的类文件API为Java开发者们打开了一扇通往Java底层世界的大门。通过这个API,我们可以更加深入地理解Java程序的工作原理,实现更加灵活和强大的功能。虽然目前它还处于预览版阶段,但我们已经可以预见其在未来Java开发中的重要地位。让我们共同期待Java字节码操控新篇章的到来!
|
12天前
|
Java API 开发者
【Java字节码的掌控者】JDK 22类文件API:解锁Java深层次的奥秘,赋能开发者无限可能!
【9月更文挑战第8天】JDK 22类文件API的引入,为Java开发者们打开了一扇通往Java字节码操控新世界的大门。通过这个API,我们可以更加深入地理解Java程序的底层行为,实现更加高效、可靠和创新的Java应用。虽然目前它还处于预览版阶段,但我们已经可以预见其在未来Java开发中的重要地位。让我们共同期待Java字节码操控新篇章的到来,并积极探索类文件API带来的无限可能!
|
16天前
|
存储 C++
C++(五)String 字符串类
本文档详细介绍了C++中的`string`类,包括定义、初始化、字符串比较及数值与字符串之间的转换方法。`string`类简化了字符串处理,提供了丰富的功能如字符串查找、比较、拼接和替换等。文档通过示例代码展示了如何使用这些功能,并介绍了如何将数值转换为字符串以及反之亦然的方法。此外,还展示了如何使用`string`数组存储和遍历多个字符串。
|
20天前
|
C# 开发者 UED
WPF开发者必备秘籍:深度解析文件对话框使用技巧,打开与保存文件原来如此简单!
【8月更文挑战第31天】在WPF应用开发中,文件操作是常见需求。本文详细介绍了如何利用`Microsoft.Win32`命名空间下的`OpenFileDialog`和`SaveFileDialog`类来正确实现文件打开与保存功能。通过示例代码展示了如何设置文件过滤器、初始目录等属性,并使用对话框进行文件读写操作。正确使用文件对话框能显著提升用户体验,使应用更友好易用。
40 0
|
20天前
|
API C# 开发者
WPF图形绘制大师指南:GDI+与Direct2D完美融合,带你玩转高性能图形处理秘籍!
【8月更文挑战第31天】GDI+与Direct2D的结合为WPF图形绘制提供了强大的工具集。通过合理地使用这两种技术,开发者可以创造出性能优异且视觉效果丰富的WPF应用程序。在实际应用中,开发者应根据项目需求和技术背景,权衡利弊,选择最合适的技术方案。
33 0
|
27天前
|
存储 JSON NoSQL
揭秘Redis字符串String的隐藏技能!从基础到进阶,让你的数据存储操作秒变高大上!
【8月更文挑战第24天】Redis中的字符串类型作为其基石,不仅能够存储从简单文本到复杂格式如JSON的各种数据,还能通过多样化的命令实现包括但不限于自增自减、设置过期时间等高级功能,极大提升了其实用性和灵活性。例如,使用`SET`命令可添加或更新键值对,`GET`获取值,`DEL`删除键;同时,`INCR`和`DECR`支持对整数值的原子性增减操作,非常适合实现计数器等功能;通过`EXPIRE`命令设置过期时间,则适用于需要限时存储的应用场景。尽管名为“字符串”,但实际上还可存储图片、音频文件的Base64编码等形式的数据,为开发者提供了强大而灵活的工具。
29 0
|
29天前
|
存储 Java
|
3月前
|
Java UED
Java中String强转int:一种常见的错误和解决方法
在Java中将非数字字符串转换为整数会导致`NumberFormatException`。要解决这个问题,可以使用`try-catch`捕获异常,正则表达式验证数字格式,或利用异常信息提供错误提示。例如,`Integer.parseInt()`会因遇到非数字字符如`"123abc"`而抛出异常,但通过异常处理或正则`\\d+`可确保安全转换。记得在编程时避免直接强转,以防止程序异常中断。