标签:
上述三个类在处理字符串时有各自的特点和适用场合,具体如下:
(1) String:字符串常量
String是不可变对象,在每次对String类进行改变的时候其实都等于生成了一个新的String对象,然后指向新的String对象,所以经常改变内容的字符串最好不要用String类型,因为每次声称对象都会对系统性能产生影响.
(2) StringBuffer类:
StringBuffer是可变字符串,在每次对StringBuffer对象进行改变时,会对StringBuffer对象本身进行操作,而不是生成新的对象,再改变对象引用.所以,在字符串对象经常改变的情况下推荐使用StringBuffer类.String实现了equals()方法和hashCode()方法,而StringBuffer没有实现.StringBuffer对字符串拼接效率较高.
(3) StringBuilder类:
StringBuilder是JDK5.0以后提供的类,它和StringBuffer类等价,区别在于StringBuffer类是线程安全的,而StringBuilder是单线程的,不提供同步,理论上效率更高.
String/StringBuffer/StringBuilder对比
标签:
原文地址:http://www.cnblogs.com/wkj888888/p/5778292.html