stringbufferdemo.java

来自「java2参考大全上的例子的源码和自己的理解.」· Java 代码 · 共 35 行

JAVA
35
字号
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 + =
减小字号Ctrl + -
显示快捷键?