java中的字符串是不是以"\0"结尾的
java中的字符串是不是以"\0"结尾的?如若不是在StringBuilder类中为什么的构造函数是这样的
public StringBuilder() {
super(16);
}
public StringBuilder(int capacity) {
super(capacity);
}
public StringBuilder(String str) {
super(str.length() + 16);
append(str);
}
------解决方案--------------------不是
预分配的空间
------解决方案--------------------要继续点进去看,它是继承AbstractStringBuilder,调用它的构造函数,
AbstractStringBuilder(int i)
{
value = new char[i];
}
这样看懂了吧
------解决方案--------------------StringBuilder一个长度可变的字符序列,不是以"\0"结尾的。
------解决方案--------------------为了append时不必每次都要重新分配空间。
一般 构造 StringBuiler时最好指定大小。
比如你预估长度大约500就 new StringBuilder(500), 类似的有ArrayList等容器