java的StringBuilder长度和容量

StringBuilder类和类一样String,有一个length()方法可以返回构建器中字符序列的长度。

与字符串不同,每个字符串构建器也有一个容量,即已分配的字符空间数。该capacity()方法返回的容量始终大于或等于长度(通常大于),并将根据需要自动扩展以适应对字符串构建器的添加。

您可以使用该类的以下构造函数StringBuilder:

  • StringBuilder():创建一个容量为 16(16 个空元素)的空字符串构建器。
  • StringBuilder(CharSequence cs): 构造一个字符串构建器,包含与指定字符相同的字符CharSequence,外加一个额外的 16 个空元素尾随CharSequence.
  • StringBuilder(int initCapacity):创建具有指定初始容量的空字符串生成器。
  • StringBuilder(String s):创建一个字符串构建器,其值由指定的字符串初始化,加上字符串尾随的额外 16 个空元素。

例如下面的代码:

// creates empty builder, capacity 16
StringBuilder sb = new StringBuilder();
// adds 9 character string at beginning
sb.append("Greetings");

该类StringBuilder具有该类没有的一些与长度和容量相关的方法String:

  • void setLength(int newLength):设置字符序列的长度。如果newLength小于length(),则截断字符序列中的最后一个字符。如果newLength大于length(),null则在字符序列的末尾添加字符。
  • void ensureCapacity(int minCapacity):确保容量至少等于指定的最小值。

一些操作(例如 , append(),insert()或setLength()可以增加字符串生成器中字符序列的长度,以便结果length()大于当前的capacity()。发生这种情况时,容量会自动增加。

java的StringBuilder长度和容量

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注