StringBuilder 没有提供clear或empty方法。
清空有3种方法:
1)新生成一个,旧的由系统自动回收
2)使用delete
3)使用setLength
在String你还需要知道这些细节中提到过,由于String被设计成immutable,所以才有了StringBuilder和StringBuffer这2个类来帮助我们操作字符串,StringBuilder线程不安全,StringBuffer线程安全,在我们大多数日常使用场景,都是单线程操作字符串,所以StringBuidler用的会多一些,而且编译器也会默认帮我们将+号字符串拼接转化为StringBuidler append,这篇文章我会跟大家分享我知道的StringBuilder使用的一些骚操作。
底层数据结构很简单,就是一个char[] value 和大小字段 count,构造器生成的char[] 默认capacity大小是16,如果很明确插入的字符串很长,应该将capacity设置大一些,避免频繁拷贝数组扩容。
append和insert方法都能增长字符串,该如何选择,看上面的源码可以看到,insert不论字符串插入的位置是在中间还是最后,都会进行数组拷贝,而append则会根据当前数组的长度来判断是否需要拷贝扩容,所以如果需要在尾部增加字符串使用append,其他位置使用insert。
CopyRight@2008-2024 中国证券新闻 All Right Reserved
工信备案号:备案号京ICP(备)15095275
中国证券新闻版权所有违者必究