在java中操作字符串的处理时经常会碰到和运用到String,StringBuffer 和StringBuilder这三个类,本人用的最多是用他们来拼接长的字符串,虽然他们都可以实现字符串拼接,但运用上是有差异的;
String拼接时对象会改变,产生新的对象,然后旧的对象会被回收,在处理较多的字符串时它的缺点就会突显,效率上会不及StringBuffer和StringBuilder;
StringBuffer和StringBuilder用法很相似,它们的主要区别在于线程安全方便,虽然StringBuilder比StringBuffer的处理速度要快,但是StringBuilder是非线程安全的,也就是说当多个现场同时去操作字符串时就会对该对象数据产生影响改变是不安全的
因此:单线程下要求速度的情况下用StringBuilder;多线程下用StringBuffer比较合适;
只是大致说明了三者的区别,后续再从原理上深入补充!