Java中的字符串,StringBuilder和StringBuffer之间关闭的差速器
#java #字符串 #stringbuffer #stringbuilder

在编程中,字符通道是一种非常当前的类型。在Java中,有三个主要类可以使用字符通道:String,StringBuilder和StringBuffer。在本文中,我们将研究每个班级的特征,它们的差异,如何以及何时使用它们的特征。

细绳

string 是Java中插入的类,可重现不变的特征的Chaits。这意味着,一旦一条交叉链就无法修改。字符串类中的所有MESDE都引用新字符串而不是修改现有对象。以下是字符串类使用的一些示例:

String s1 = "Hello";
String s2 = "World";
// concaténation de deux chaînes de caractères
String s3 = s1 + " " + s2;
// affiche "Hello World"
System.out.println(s3);

在此示例中,我们相信两个字符频道“ Hello”和“ World”,然后我们使用'Operator +在它们之间哭了它们。杀菌物已存储在变量S3中,这也是特征图表。

StringBuilder

stringBuilder 可变类,可用于粗糙和操纵字符通道。与字符串类不同,可以修改StringBuilder对象而不认为新对象。当涉及到残废大型角色通道或处理物品的通道©Rative时,这使得它们更有效。
这是使用StringBuilder类的示例:

StringBuilder sb = new StringBuilder();
sb.append("Hello");
sb.append(" ");
sb.append("World");
// affiche "Hello World"
System.out.println(sb.toString()); 

在此示例中,我们相信一个新对象 thongbuilder 使用您需要的制造商,然后我们使用其thode append()添加频道” 您好和“ World ”对象。最后,我们使用了 tostring()将StringBuilder对象转换为字符通道。

StringBuffer

StringBuffer 与StringBuilder相似,但是它是螺纹安全,这意味着它可以在环境中用于sth»re 多线程<< /strong>。但是,由于其同步(从程序中ixaper的不同线程的协调过程),它的效率不如单线中的字符串构建器。这是使用StringBuffer类的示例:

StringBuffer sb = new StringBuffer();
sb.append("Hello");
sb.append(" ");
sb.append("World");
System.out.println(sb.toString()); // affiche "Hello World"

在此示例中,我们使用与StringBuilder相同的方法来创建和操纵特征链。唯一的区别是我们使用了StringBuffer类而不是StringBuilder。

Thong,Thongbuilder和Thongbuffer之间的差异

字符串和字符串布置/弦乐手类之间的主要不同的 mutability 。类 Thong 不变的,这意味着一旦角色通道越过,它就无法修改。另一方面,类 stringBuilder stringBuffer 可变> ,这意味着可以将其内容修改到位。

这意味着,如果您需要相信不会更改的字符频道,则应使用字符串类。在另一个Cede中,如果您需要处理或构建一系列有效的处理特性,则应使用StringBuilder或StringBuffer类。

StringBuilder和StringBuffer类之间的另一个重要区别是, StringBuffer thread-safe ,而StringBuilder却不是。这意味着,如果您在多线程环境中工作,则需要使用 stringBuffer 进行冲突和同步错误

知道,就性能而言, stringBuilder 是,比StringBuffer更快地,因为它不需要同步。但是,单线程应用程序中的性能差异通常是裸露的

最后,不要忘记,角色渠道的粉碎的国家可以是 coci 就性能而言,尤其是在循环中。在这种情况下,很明显使用 append() mesdes stringBuilder stringbuff 有效处理的字符保单。

结论

总而言之,字符通道是编程中捐赠的一种重要类型,Java提供了三个主要类以与它们合作:String,StringBuilder和StringBuffer。这些类中的每一个都有特征和不同的用途,并且类的选择将是您应用程序的需求。