String和StringBuffer和StringBuilder的区别

String

string作为java中的引用数据类型,用的还是蛮多的

它是不可变的,每次做的操作其实是重新分配了空间 比如字符串的拼接

由于这一点,所以它不适合大量数据操作

StringBuffer

StringBuffer呢 虽然它是可变的   优点是安全  缺点自然也是安全

每一个方法都加了锁  所以  在大量数据面前  执行效率就排老二了

面对线程安全问题,那就只能由它出马了

StringBuilder

这大哥也是可变的  前面介绍了两种  剩下的自然都是它接着了

单线程操作大量数据

总结:  少量数据用string   考虑线程安全用buffer    剩下的那自然大哥了

原文地址:https://www.cnblogs.com/KingAndPig/p/13708290.html