Java中String,StringBuilder,StringBuffer类三者的区别

一:Java String类

Java 提供了使用关键字和构造方法来 使String 类创建和操作字符串

注意:String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了

连接两个字符串的语法:  string1.concat(string2);

String 类的一个访问器方法是 length() 方法,它返回字符串对象包含的字符数

二:Java StringBuilde类

StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。

三:Java StringBuffe类

StringBuffer 类支持的主要方法:

public StringBuffer append(String s)        将指定的字符串追加到此字符序列。

public StringBuffer reverse()                     将此字符序列用其反转形式取代。

public delete(int start, int end)                 移除此序列的子字符串中的字符。

public insert(int offset, int i)                   将 int 参数的字符串表示形式插入此序列中。

replace(int start, int end, String str)          使用给定string中的字符替换此序列的子字符串中的字符。


不同:

1,行速度,或者说是执行速度:StringBuilder > StringBuffer > String

String最慢的原因:

String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后

两者的对象是变量,是可以更改的。

2,在线程安全上:StringBuilder是线程不安全的,而StringBuffer是线程安全的。

最后:

String:适用于少量的字符串操作的情况

StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况

StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况


猜你喜欢

转载自blog.csdn.net/A15252006129/article/details/80349725