|
stringbuilder清空骚操作stringbuilder清空方法
楼主
来源:咯咯咯@qzone_fded9f7bb1 7/24/2020 10:28:00 PM
在String你还需要知道这些细节中提到过,由于String被设计成immutable,所以才有了StringBuilder和StringBuffer这2个类来帮助我们操作字符串,StringBuilder线程不安全,StringBuffer线程安全,在我们大多数日常使用场景,都是单线程操作字符串,所以StringBuidler用的会多一些,而且编译器也会默认帮我们将+号字符串拼接转化为StringBuidler append,这篇文章我会跟大家分享我知道的StringBuilder使用的一些骚操作。 底层数据结构很简单,就是一个char[] value 和大小字段 count,构造器生成的char[] 默认capacity大小是16,如果很明确插入的字符串很长,应该将capacity设置大一些,避免频繁拷贝数组扩容。 append和insert方法都能增长字符串,该如何选择,看上面的源码可以看到,insert不论字符串插入的位置是在中间还是最后www.hnjjnews.com都会进行数组拷贝,而append则会根据当前数组的长度来判断是否需要拷贝扩容,所以如果需要在尾部增加字符串使用append,其他位置使用insert。 http://www.hnjjnews.com/hnetnews/3-2020722-33418.html http://www.cenetnews.com/information/2020-623-940.html http://www.doogams.com/games/2020-623-14384.html http://www.esoons.com/dsnews/news/2020623_101160.html
|