StringBuffer StringBuilder

String StringBuffer StringBuilder三者的异同?

String:不可变的字符序列; 底层使用char[] 存储

StringBuffer:可变的字符序列; 线程安全的,效率低, 底层使用char[] 存储

StringBuilder:可变的字符序列; JDK5.0新增, 线程不安全的,效率高, 底层使用char[] 存储

对比三者的效率:

效率从高到低排列:StringBuilder > StringBuffer > String

StringBuffer分析:

扩容问题:如果添加的数据底层数组盛不下了,那就需要扩容底层的数组

默认情况下,扩容为原来容量的2倍 + 2 , 同时将原有的数组中的元素复制到新的数组中

指导意义:开发中建议大家使用:StringBuffer(int capacity)

常用方法:

StringBuffer StringBuilder_第1张图片

 

你可能感兴趣的:(JavaSE,java,开发语言)