String、StringBuilder和StringBuffer的区别是什么

一个String对象的长度时固定不变的,也不能改变它的内容。当对String对象进行修改时,会得到一个新的String对象。

常见的字符串对象修改的方法有:

public String concat(String str)

public String replace(char oldChar,char newChar)

public String replaceAll(String regex, String replacement)

public String substring(int beginIndex)

public String substring(int beginIndex, int endIndex)

public String[] split(String regex)

public String trim() 

(其他方法请查找java-API文档  java.lang.String相关连接http://tool.oschina.net/apidocs/apidoc?api=jdk_7u4)

当使用“+”来串联字符串时也会产生一个新的String对象,如果程序对这种操作比较频繁,建议用java.lang.StringBuffer类或java.lang.StringBuilder类的append(String str)方法,StringBuffer和StringBuilder代表可变的字符序列,不像String类那样为了线程访问安全创建大量的副本对象,因此如果是一段需要在一个字符串上进行操作的代码,推荐使用StringBuffer和StringBuilder提高性能,如果不考虑性能可以全部选择String类进行操作            

猜你喜欢

转载自blog.csdn.net/username__sunny/article/details/80438347