StringBuilder StringBuffer 如何清空

StringBuilder StringBuffer面试题一般会问两者的区别和String的区别。

StringBuffer线程安全的,StringBuild线程不安全的,

String的区别是String每次改变都会生成一个新的String对象效率低,StringBuffer和StringBuild则不会生成新的对象。

原理是:内部继承AbstractStringBuilder,利用数组进行存储,当然还是会涉及到扩容问题,但是想比String每次都创建要好很多。

一次面试遇到了一个面试官问StringBuilder的清空方式,有几种清空方法:

清空有3种方法:
1)生成一个新的空的对象
2)使用delete(start,end)方法
3)使用setLength(0)方法

后两种方法不难理解,毕竟底层利用数组实现。

你可能感兴趣的:(java基础,java面试小问题)