String在一个=后连加几次与改用StringBuffer对内存的使用是不是一样?

lwd2k 2004-06-21 10:10:14
1
...全文
149 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
shine333 2004-07-02
  • 打赏
  • 举报
回复
不一样,一个+号等价于

new StringBuffer(String.valueOf(等号左边的变量)).append(String.valueOf(等号右边的变量)).toString()
Znet 2004-07-02
  • 打赏
  • 举报
回复
不一样!
使用String时每次使用+号增加字符串时,都要进行内存的重新分配。
而StringBuffer在创建的初始就具有某一长度,只有当字符串的长度大于这个长度时才重新分配内存。
所以使用StringBuffer比String快,尤其是在大量循环的情况下。
accpcj 2004-07-02
  • 打赏
  • 举报
回复
的确!建议使用的时候用Stringbuffer,它会一次性把你保留的在缓存的数据输出的。
XioSan 2004-07-02
  • 打赏
  • 举报
回复

原理不一样!
asiaec 2004-07-02
  • 打赏
  • 举报
回复
但是stringbuffer要快些

只用+ 几次没问题 在循环内部就要小心了
lansb1 2004-07-02
  • 打赏
  • 举报
回复
一样的.
CsdnRob 2004-07-02
  • 打赏
  • 举报
回复
String anchor; anchor = " onClick=\""+ str1 + "xxx('" + str2 + "', " + str3 + ", " + "'" + str4 + "', " + "'" + str5 + "', " + "'_top', " + "'', " + "'" + str6 + "', " + "'" + str7 + "', " + "'" + str8 + "', " + "''" + ");" + " return false;\"";
blasterboy 2004-07-02
  • 打赏
  • 举报
回复
up shine333
lwd2k 2004-06-21
  • 打赏
  • 举报
回复
String anchor;
anchor = " onClick=\""+ str1
+ "xxx('" + str2 + "', "
+ str3 + ", "
+ "'" + str4 + "', "
+ "'" + str5 + "', "
+ "'_top', "
+ "'', "
+ "'" + str6 + "', "
+ "'" + str7 + "', "
+ "'" + str8 + "', "
+ "''"
+ ");"
+ " return false;\"";

62,614

社区成员

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

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