可变长度数组的定义:
- 数组长度一旦定义,就不能改变其长度
- 字符个数一旦超过定义的数组长度,就会在原先的基础上增加一个同样长度的数组长度,增加的不是字符的长度而是数组的长度。
StringBuffer(int capacity)
StringBuffer sb=new StringBuffer(26);//构造一个不带字符,但具有指定初始容量的字符串缓冲区。
- 这里定义的是一个26个字符长度的字符缓冲区(默认是16个字符长度);
- 与可变长度数组不同的是,这个构造方法会根据字符的长度动态的改变,不会一次性的增加定义的缓冲区的长度。
可变长度数组和StringBuffer(int capacity)的比较:
1,可变数组增加时,一次性增加定义的数组长度,浪费空间,而StringBuffer(int capacity)会根据字符的长度,动态的增加。
2,可变长度数组增加时,下标等元素也开始增加,耗费系统性能,而StringBuffer(int capacity)则不同。