String 与StringBuilder
来源:互联网 发布:React双向数据绑定原理 编辑:程序博客网 时间:2024/05/20 02:27
1、String:不可变字符序列 为何?看源码 因为源码加了 final
2、StringBuilder:可变字符序列,初始化的时候调用了
public StringBuilder() {
super(16);
}
自己的构造器,初始化的时候是一个长度为16的数组。
通过调用append()方法 可以添加字符序列。
其中append()方法中有可以为数组添长度的方法,如下
void expandCapacity(int minimumCapacity) {int newCapacity = (value.length + 1) * 2; if (newCapacity < 0) { newCapacity = Integer.MAX_VALUE; } else if (minimumCapacity > newCapacity) { newCapacity = minimumCapacity;} value = Arrays.copyOf(value, newCapacity); }
该方法在append()的时候为改数组添加了长度,但是没有创建新的数组对象,
而是替换了老的数组长度,从内存空间上节约了。至于添加长度为什么是
int newCapacity = (value.length + 1) * 2;
这就不得而知了。
补充:因为StringBuilder源码中,大多数方法都是
Return this 所以很多方法可以连用,他们称之为方法连。
比如,
StringBuildersb = new StringBuilder();
sb.append(1).append(2).append(3)…….以此类推
在这个浮躁的年代,我还要保持真的自己真的很难,但至少我在努力,从未放弃!
0 0
- String与StringBuilder 辩议
- String 与StringBuilder区别
- StringBuilder与String
- string 与StringBuilder区别
- String与StringBuilder
- String 与 StringBuilder
- String与StringBuilder关系
- String,StringBuffer与StringBuilder
- String,StringBuffer与StringBuilder
- String,StringBuffer与StringBuilder
- string与stringBuilder
- string 与 stringBuilder
- String与StringBuilder
- String,StringBuffer与StringBuilder
- String, StringBuffer与StringBuilder
- String,StringBuffer与StringBuilder
- C# - String与StringBuilder
- String 与StringBuilder
- phonegap的相关资料
- C++虚析构函数的作用
- flex复选框和下拉列表的几种用法整理http://www.jb51.net/article/39597.htm
- Spring FrameWork 学习总结
- c学习笔记
- String 与StringBuilder
- Paraview与VTK学习笔记(五)
- ContentProvider数据库共享之——读写权限与数据监听
- C# WInform TextChanged MessageBox.Show冲突的临时解决办法
- 11181 - Probability|Given
- iOS开发中自动获取当前位置(GPS定位)
- iOS 通知中心扩展制作入门
- 蓝桥杯 ALGO-53 最小乘积(基本型)(水题)
- 正则表达式语法