String,StringBuffer,StringBulider的区别
String是只读字符串,每次改变都需要创建新的对象;
StringBulider和StringBuffer表示的字符串对象可以直接修改,无需创建新的对象。这样在效率上就会有所提升。当需要对字符串进行大量操作时,建议使用这两种。
而StringBulider和StringBuffer又有什么区别呢?
StringBuffer的所有的公开方法都是用synchronized修饰的,所以他的线程是安全的。StringBulider则没有用synchronized修饰,所以是是不安全的。也是因为StringBuffer加了锁,导致性能方面肯定是不如StringBulider的。 单线程的建议使用StringBulider,多线程建议使用StringBuffer。