1.String , StringBuffer , StringBuilder三者的区别 :
2.StringBuffer
3.代码
/* 问题 : 为什么说StringBuffer是线程安全的 ? 因为它的每一个方法都有synchronized关键字 */ @Test public void test(){ //源码分析 String string = new String(); //char[] value = new char[0]; String string1 = new String("abc"); //char[] value = new char[]{a,b,c}; StringBuffer stringBuffer = new StringBuffer(); //char[] value = new char[16]; -->底层创建了一个长度是16的char[] System.out.println(stringBuffer.length()); // 0 , 有人会问不是说长度16吗 ? 16是容量, 并不是有16个字符 StringBuffer stringBuffer1 = new StringBuffer("abc");//char[] value = new char["abc".length + 16]; --> 长度19 StringBuilder stringBuilder = new StringBuilder(); }