他们是String中的两个类,他们几乎相同,使用方法也几乎相同,唯一不同的是StringBuffer是线程安全的,在多线程时使用StringBuffer,单线程使用StringBuilder.
我们知道String的内容不能修改,而StringBuffer和StringBuilder可以修改.在String的源码中他的对象被private修饰同时又被final修饰,这就意味着我们拿不到字符串的引用.也就无法修改字符串.而StringBuffer和StringBuilder他们两个可以实例化对象,对象里面可以存储字符串,这也就意味着,我们拿到了字符串的引用可以进行修改.
还有就是在进行字符串的拼接的时候,使用加号拼接,效率低.他每次拼接的时候都会创建StringBuffer对象,所以导致效率低.所以我们在操作字符串的时候最好用StringBuffer和StringBuilder.
当然,这两个类还有很多方法,具体可以查阅官方文档.