这三个的核心区别
String :不可变字符
StringBuffer ; 可变字符 线程安全低 效率高
StringBuilder ;可变字符 线程安全高 效率低
关于这三个类的比较细致的区别 可以点着去看看 探秘Java中的String、StringBuilder以及StringBuffer - Matrix海子 - 博客园
简单敲一下
StringBuffer 类;
StringBuilder类
这俩个类比较常用的方法
StringBuilder类
StringBuffer 类;
下面简单测试一下 可变字符 和不可变字符的运行占用的空间和占用的时间分别是多少
结果输出为
从结果可以很直观的看出
不可变字符在拼接多个字符串的时候 会产生大量新的对象 占用内存和时间
可变字符 在拼接多个字符串的时候 效率比较高 而且占用的时间和内存非常少
String拼接字符串会产生大量对象耗费内存以及执行效率,所以在开发中建议使用StringBuilder进行字符串拼接