这也是个比较重要的东西,因为String字符串的应用范围很广。但是有些时候使用StringBuffer更好一些。有些时候还不能用String。到了jdk5的时候,又补充了个东西StringBuilder。我们来看看他们的区别。
String 的长度是不可变的,StringBuffer的长度是可变的。如果对字符串中的长度经常进行操作,特别是内容要修改时,使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法。
当我们进行字符拼接时,请使用StringBuffer或StringBuilder类而非String类,因为前者将比后者性能高的多,在java语言的优化编程里面,这是一条比较重要的。
在使用String 的时候,拼接字符串时使用“+”这个东西在JVM上形成临时的StringBuffer对象,同时在每一个字符串上都建立一个对象,拼接了两个字符串居然创建了4个对象。(一个String,两个字符串,一个临时的StringBuffer)。
如果使用StringBuffer就好多了,它可以只需创建两个对象就可以了,一个StringBuffer和最后的String 。
StringBuilder是在jdk5中添加的一个类,它与StringBuffer功能一样。但是它不是线程安全的,就是说它不支持多线程。如果在不需要多线程的时候,使用StringBuilder比StringBuffer还要块的多。不支持线程同步当然要快了。