字符串效率问题

soulenvy 2011-11-03 09:12:57
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"");
者三种操作那个的效率会好些,他们有何区别,对象加载创建过程又是什么样的。
...全文
55 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
疯癫行者 2011-11-03
  • 打赏
  • 举报
回复
这个操作:"sdf"+"sdfds"+s+"sdf"
会创建出多个中间对象,所以效率变差。
第二种操作则不会,所以效率最高。
第三种不但创建多个中间对象,而且增加了不必要的操作,就像我在2楼解释的那样,所以效率最差。
孟祥月 2011-11-03
  • 打赏
  • 举报
回复
同意楼上
另外String和StringBuffer是两个不同的类 一个不可变一个可变
铁匠梁老师 2011-11-03
  • 打赏
  • 举报
回复
建议还是 StringBuilder
疯癫行者 2011-11-03
  • 打赏
  • 举报
回复
第三种最差。不但创建了第一种的所有对象("sdf"+"sdfds"+s+"sdf"),而且还增加了append操作,而且还要创建StringBuffer对象。
疯癫行者 2011-11-03
  • 打赏
  • 举报
回复
第二种好些,但是声明的时候应该这样:StringBuffer k = new StringBuffer();你的代码里面没有创建对象,之声明了变量。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧