- String,StringBuilder,StringBuffe
- String,StringBuilder,StringBuffe
- String,StringBuilder,StringBuffe
- String,StringBuilder,StringBuffe
- String,StringBuilder,StringBuffe
- String,StringBuilder,StringBuffe
- String、StringBuilder、StringBuffe
- String StringBuilder,StringBuffe
- String StringBuilder StringBuffe
- String,StringBuilder,StringBuffe
一. String s = new String("A");会创建几个对象。
如果只有这一句话,创建两个对象,一个在堆,一个在字符串常量池,但是返回的是堆的对象。
如果字符串常量池已经存在“A”,那么new创建一个对象,在堆中。
PS:String s2 = "SS";这句话只会在字符串常量池中创建。即创建一个对象。
二.String是否可以被继承
不能,因为String类是这样声明的:public final class String extends Object。
主要看final关键字,final定义的类不可以被进程,final定义的方法不可被重写,final定义的变量不可以被修改。
三. StringBuilder和StringBuffer
StringBuilder不支持并发操作,线性不安全的,不适合多线程中使用。新引入的StringBuilder类不是线程安全的,但其在单线程中的性能比 StringBuffer高。
StringBuffer支持并发操作,线性安全的,适合多线程中使用。
StringBuffer中大量使用synchronized,效率较低。
四, 效率对比
StringBuilder>StringBuffer>String
网友评论