String和StringBuilder、StringBuffer的区别?
答:Java平台提供了两种类型的字符串:String和StringBuffer/StringBuilder,
它们可以储存和操作字符串。其中String是只读字符串,
也就意味着String引用的字符串内容是不能被改变的。
而StringBuffer/StringBuilder类表示的字符串对象可以直接进行修改。
StringBuilder是Java 5中引入的,它和StringBuffer的方法完全相同,
区别在于它是在单线程环境下使用的,因为它的所有方面都没有被synchronized修饰,
因此它的效率也比StringBuffer要高。
简而言之:
String:不能被修改
StringBuffer:可以随意修改,有synchronized修饰,是线程安全的,效率略低
StringBuilder:可以随意修改,无synchronized修饰,不是线程安全的,效率高