版权声明:本文为博主原创文章,转载希望能注明出处,感谢。 https://blog.csdn.net/u010126792/article/details/82841160
StringBuilder StringBuffer面试题一般会问两者的区别和String的区别。
StringBuffer线程安全的,StringBuild线程不安全的,
String的区别是String每次改变都会生成一个新的String对象效率低,StringBuffer和StringBuild则不会生成新的对象。
原理是:内部继承AbstractStringBuilder,利用数组进行存储,当然还是会涉及到扩容问题,但是想比String每次都创建要好很多。
一次面试遇到了一个面试官问StringBuilder的清空方式,有几种清空方法:
清空有3种方法:
1)生成一个新的空的对象
2)使用delete(start,end)方法
3)使用setLength方法
后两种方法不难理解,毕竟底层利用数组实现。