日期:2014-05-20  浏览次数:20826 次

字符串效率问题
1——String s;
String a = "sdf"+"sdfds"+s+"sdf";
2StringBuffer k;
k.append("adf");
k.append("sdfds");
k.append(s);
k.append("sdf");
3
k.append(""sdf"+"sdfds"+s+"sdf"");
者三种操作那个的效率会好些,他们有何区别,对象加载创建过程又是什么样的。

------解决方案--------------------
第三种最差。不但创建了第一种的所有对象("sdf"+"sdfds"+s+"sdf"),而且还增加了append操作,而且还要创建StringBuffer对象。
------解决方案--------------------
这个操作:"sdf"+"sdfds"+s+"sdf"
会创建出多个中间对象,所以效率变差。
第二种操作则不会,所以效率最高。
第三种不但创建多个中间对象,而且增加了不必要的操作,就像我在2楼解释的那样,所以效率最差。