关于String,Stringbuffer,StringBuilder的区别

String 底层是一个被final修饰的char数组,所以String类不能被继承,不能修改。String的concat()方法可以用来拼接字符串,每次返回一个新的String对象。

StringBuilder继承自AbstractStringBuilder,AbstractStringBuilder底层维护一个char数组,一个cout表示数组元素的个数。

创建一个StringBuilder实际是调用父类的构造方法创建对象:

 

 

 StringBuilder通过append来拼接元素。

 

 

 

 StringBuffer也是集成自AbstractStringBuffer,它的方法比StringBuilder多了synchronized,

 

 

总结:String不能修改字符串,StringBuilder,StringBuffer可以,StringBuffer比StringBuilder更安全。如果字符串修改较为频繁,建议用StringBuilder,因为String会频繁创建对象。

 

posted @ 2020-12-19 23:32  threadThread  阅读(90)  评论(0)    收藏  举报