📄 stringbufferdemo.java
字号:
package length;
/**
StringBuffer定义了下面三个构造函数:
StringBuffer( )
StringBuffer(int size)
StringBuffer(String str)
默认构造函数(无参数)预留了16个字符的空间。该空间不需再分配。第二种形式接
收一个整数参数,清楚地设置缓冲区的大小。第三种形式接收一个字符串(String)参数,
设置StringBuffer对象的初始内容,同时不进行再分配地多预留了16个字符的空间。当没有
指定缓冲区的大小时,StringBuffer分配了16个附加字符的空间,这是因为再分配在时间上
代价很大。而且频繁地再分配可以产生内存碎片。StringBuffer通过给一些额外的字符分配
空间,减少了再分配操作发生的次数。
下面是这个程序的输出,它说明了StringBuffer如何为另外的处理预留额外的空间:
buffer = Hello
length = 5
capacity = 21
由于sb在创建时由字符串“Hello”初始化,因此它的长度为5。因为给16个附加的字符
自动增加了存储空间,因此它的存储容量为21。
*/
class StringBufferDemo {
public static void main(String args[]) {
StringBuffer sb = new StringBuffer("Hello");
System.out.println("buffer = " + sb);
System.out.println("length = " + sb.length());
System.out.println("capacity = " + sb.capacity());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -