Java中的StringBuffer类
众所周知,java 对象基本上有两种类型,它们是可变的和不可变的。不可变对象是指一旦创建其内容就无法修改的对象。每当不可变对象的内容发生更改时,都会创建新对象。对于可变对象,我们可以更改现有对象的内容,但这不会导致创建新对象。因此,可变字符串是那些可以在不创建新对象的情况下更改其内容的字符串。
开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
StringBuffer和StringBuilder是java中String的可变版本,而java String类是不可变的。因此 StringBuffer 是一个可变字符串,用于为字符串对象提供可变性。 String 类包含固定长度、不可变的字符序列,而字符串缓冲区具有可扩展的长度和可写的字符序列。
如何在Java中使用字符串缓冲区类?
这里有一些要点展示了我们如何在 java 中使用 StringBuffer。
- 如前所述,java 中的可变字符串可以使用 StringBuffer 和 StringBuilder 类创建。
- 两者之间的主要区别在于 StringBuffer 是线程安全的实现,而 StringBuilder 则不是。
- 每当需要高性能和高安全性时,人们应该更喜欢 String 类的可变版本。
- 由于String池的存在,String类存在安全问题;因此,每当需要数据安全时,就会使用 StringBuffer。
- StringBuffer 在性能方面比 StringBuffer 更好,因为 StringBuffer 是线程安全的,但每当需要线程安全时,就应该选择 StringBuffer。
StringBuffer 构造函数
以下是字符串缓冲区构造函数:
- StringBuffer(): 这会创建一个空的 StringBuffer,默认容量为 16 个字符。
- StringBuffer(intcapacity): 这将创建一个具有指定容量的空 StringBuffer。
- StringBuffer(CharSequence charseq): 这将创建包含与指定字符序列中相同字符的 StringBuffer。
- StringBuffer(String str): 创建与指定 String 对应的 StringBuffer。
这是 StringBuffer 类的声明:
public final class StringBuffer extends Object implements Serializable,CharacterSequence,Appendable
Java中StringBuffer类的方法
现在我们将了解 StringBuffer 中可用的不同方法和字段。以下是 StringBuffer 类中常用方法的列表:
方法名称 | 描述 |
长度()和容量() | 可变字符串的长度可以使用length()方法计算,相应的容量可以使用capacity()计算。 |
追加(字符串str)
追加(整数) |
此方法用于在现有字符串缓冲区的末尾添加新文本。 |
插入(int索引,字符串str)
插入(int索引,char ch) |
用于在给定字符串的指定位置插入文本。在给定的语法中,索引指定要插入字符串的起始索引。 |
反向() | 用于反转给定字符串缓冲区对象中的字符顺序。 |
删除(int start, int end)和deleteCharAt(int index) | 用于从字符串缓冲区中删除字符。 Start 表示要删除的第一个字符的起始索引,end 表示要删除的最后一个字符的索引。 |
替换(int startindex, int endindex, String str) | 用于用指定的字符串缓冲区替换startindex和endindex-1之间的字符序列。 |
charAt(int 索引) | 用于返回字符串缓冲区中指定索引处的字符。 |
codePointAt(int 索引) | 用于返回指定索引处字符的 Unicode。 |
codePointBefore(int 索引) | 用于返回指定索引之前的字符的Unicode。 |
子字符串(int start)
substring(int start, int end) |
Used to return a new String that contains a subsequence of characters contained in a given string. |
ensureCapacity(int capacity) | Used for increasing the capacity of an existing string buffer object. |
toString() | Used to convert mutable string buffer to an immutable string object. |
Examples of StringBuffer Class in Java
Here are some of the examples of StringBuffer class which are given below:
Example #1
Let us see a basic example of the StringBuffer class.
Code:
public class StringBufferDemo{ public static void main(String args[]){ StringBuffer sBuffer1=new StringBuffer("Welcome"); System.out.println("Original String is ::: " + sBuffer1 + ":: having length " + sBuffer1.length()); //using append method sBuffer1.append(" To Edubca"); System.out.println("Modified String after append is :: " + sBuffer1 + " :: having length " + sBuffer1.length()); //using reverse method sBuffer1.reverse(); System.out.println("Modified String after Reverse is :: " + sBuffer1); } }
The above code shows the creation of java StringBuffer and its different methods. The following output will be produced.
Output:
Example #2
In this example, we will see some more methods of the StringBuffer class.
Code:
public class StringBufferDemo{ public static void main(String args[]){ StringBuffer sBuffer=new StringBuffer ("WelcomeToEdubca"); System.out.println("Original String is ::: " + sBuffer + ":: having length " + sBuffer.length()); //using replace method sBuffer.replace(0,9,"This is "); System.out.println("Modified String after replace is :: " + sBuffer + " :: having length " + sBuffer.length()); //using delete method sBuffer.delete(0,7); System.out.println("Modified String after delete is :: " + sBuffer); } }
The above code will display the following as output.
Output:
In the above example, we have seen how to create a StringBuffer class and usage of its methods.
Conclusion
From the above discussion, we have a clear understanding of StringBuffer in java, how it is created, and the different methods available in the StringBuffer class. Also, StringBuffer is thread-safe; therefore, it can be used in a multithreading environment.
以上是Java中的StringBuffer类的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Java 8引入了Stream API,提供了一种强大且表达力丰富的处理数据集合的方式。然而,使用Stream时,一个常见问题是:如何从forEach操作中中断或返回? 传统循环允许提前中断或返回,但Stream的forEach方法并不直接支持这种方式。本文将解释原因,并探讨在Stream处理系统中实现提前终止的替代方法。 延伸阅读: Java Stream API改进 理解Stream forEach forEach方法是一个终端操作,它对Stream中的每个元素执行一个操作。它的设计意图是处

PHP是一种广泛应用于服务器端的脚本语言,特别适合web开发。1.PHP可以嵌入HTML,处理HTTP请求和响应,支持多种数据库。2.PHP用于生成动态网页内容,处理表单数据,访问数据库等,具有强大的社区支持和开源资源。3.PHP是解释型语言,执行过程包括词法分析、语法分析、编译和执行。4.PHP可以与MySQL结合用于用户注册系统等高级应用。5.调试PHP时,可使用error_reporting()和var_dump()等函数。6.优化PHP代码可通过缓存机制、优化数据库查询和使用内置函数。7

PHP和Python各有优势,选择应基于项目需求。1.PHP适合web开发,语法简单,执行效率高。2.Python适用于数据科学和机器学习,语法简洁,库丰富。

PHP适合web开发,特别是在快速开发和处理动态内容方面表现出色,但不擅长数据科学和企业级应用。与Python相比,PHP在web开发中更具优势,但在数据科学领域不如Python;与Java相比,PHP在企业级应用中表现较差,但在web开发中更灵活;与JavaScript相比,PHP在后端开发中更简洁,但在前端开发中不如JavaScript。

PHP和Python各有优势,适合不同场景。1.PHP适用于web开发,提供内置web服务器和丰富函数库。2.Python适合数据科学和机器学习,语法简洁且有强大标准库。选择时应根据项目需求决定。

胶囊是一种三维几何图形,由一个圆柱体和两端各一个半球体组成。胶囊的体积可以通过将圆柱体的体积和两端半球体的体积相加来计算。本教程将讨论如何使用不同的方法在Java中计算给定胶囊的体积。 胶囊体积公式 胶囊体积的公式如下: 胶囊体积 = 圆柱体体积 两个半球体体积 其中, r: 半球体的半径。 h: 圆柱体的高度(不包括半球体)。 例子 1 输入 半径 = 5 单位 高度 = 10 单位 输出 体积 = 1570.8 立方单位 解释 使用公式计算体积: 体积 = π × r2 × h (4

PHP成为许多网站首选技术栈的原因包括其易用性、强大社区支持和广泛应用。1)易于学习和使用,适合初学者。2)拥有庞大的开发者社区,资源丰富。3)广泛应用于WordPress、Drupal等平台。4)与Web服务器紧密集成,简化开发部署。

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip
