这三者在工作中一般都涉及到,以及在一些Java基础面试中也会经常提到
区别如下:
1.String 创建的是字符串常量 无法改变字符串 后二者皆可以改变字符串的长度。
2.如果程序经常需要进行字符串的变化,后面二者速率比String快,但是创建字符串的速度没有String快。3.StringBuffer是线程同步的后者不是线程同步的,所以多线程下选用StringBuffer 单线程选用StringBuilder,
也是因此,StringBuffer效率较StringBuilder慢。
对于StringBuffer,StringBuilder,需要清除其中的内容的话可以使用
仅对其中一种举例:StringBuffer sb = new StringBuffer();
1.StringBuffer.setLength(0);
2.StringBuffer.delete(0,sb.length());
3.StringBuffer sb = new StringBuffer();//重新创建一个变量
至于String,本来就是字符串常量了,改变也是重新创建。