String,StringBuilder,StringBuffer三者的区别
String是被final修饰的,因此是不可变的对象,所以在每次对String类型进行改变的
同时,相当于生成了一个新的String对象,在经常要改变内容时,最好别用String,因
为对内存会造成极大的浪费,当内存中的无引用对象多了,JVM的GC会开始工作。因此,
此时使用StringBuilder和StringBuffer就会比String好很多。因为这两者可以使用appen
来进行拼接操作,效率要远远高于String对象的“+”操作。
StringBuilder和StringBuffer两者可谓是双胞胎,只不过StringBuffer是线程安全的可变字符序列
而StringBuilder是非线程安全的可变字符序列,那是因为StringBuffer的很多方法都被synchronized
修饰了,这个关键字是线程同步机制设定的。