String,StringBuffer,StringBuilder

字符修改

String是不可变字符序列(修改String类时,会新增String对象);StringBuffer和StringBuilder进行修改时不会产生新的对象

UML图解

String,StringBuffer,StringBuilder

String 使用一个final修饰的char数组value维护,value被final修饰不可改变,这也就是String为什么是不可变字符序列

String,StringBuffer,StringBuilder

StringBuffer和StringBuilder都继承了AbstractStringBuilder,他们存储字符的字符数组来自父类的value,这个value并不是final类,可以被修改;对StringBuffer和StringBuilder进行修改可以使用append的方法,在原有的字符序列后面加上新增的字符值(父类AbstractStringBuilder中的方法可以看出这样的操作);所以也就解释了为什么StringBuffer和StringBuilder为什么是可变字符序列
String,StringBuffer,StringBuilder

StringBuilder append(String str) 方法源码分析

 

String,StringBuffer,StringBuilder

上一篇:bootstrapTable insertRow 新增行保留原数据


下一篇:从rsa私钥字符串变成pfx文件