程序运行的参考结果:
String + 耗用时间:1188
StringBuffer + 耗用时间:0
如果将上面的例子改成
程序运行的参考结果:
String + 耗用时间:0
StringBuffer + 耗用时间:0
说明,StringBuffer的执行效率更高。
String在编译时做的优化,StringBuffer是在运行的时候(这句话我也不怎么理解)。
一个小例子。。
String x="abc"+4+"def";
编译时等效于
String x=new StringBuffer().append("abc").append(4).append("def").toString();
这样的话在执行的过程中,String类型的效率就会大打折扣
String 和StringBuffer属于 java.lang的包
String是一个final Class不可变类,StringBuffer是可变类。