前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >因为不知道StringBuilder的这些特性,我被领导劝退了

因为不知道StringBuilder的这些特性,我被领导劝退了

作者头像
JavaEdge
发布2021-02-22 15:04:52
3220
发布2021-02-22 15:04:52
举报
文章被收录于专栏:JavaEdgeJavaEdge

1 append代替+

说明:下例中,反编译出的字节码文件显示每次循环都会 new 出一个 StringBuilder 对象,然后进行 append 操作,最后通过 toString 方法返回 String 对象,造成内存资源浪费。

反例:

循环中的字符串连接。当每个String串联复制整个String时,通常最好将其替换为对StringBuilder.append()或StringBuffer.append()的显式调用。

  • 修正

2 append的链式调用

  • StringBuffer.append()
  • StringBuilder.append()或
  • Appendable.append()

的参数的字符串串联。这样的调用可以有益地转换为对现有StringBuffer / Builder / Appendable的链接追加调用,从而节省了额外的StringBuffer / Builder分配的成本。 此检查将忽略编译时评估的String串联,将其转换为链接的append调用只会降低性能

  • 改成链式调用

3 读写不匹配

StringBuilder 的内容被更新,但从未被查询过 检查信息:已读取但未写入或已写入但未读取的StringBuilder或StringBuffer字段或变量。 这种不匹配的读写是没有意义的,并且可能表示死的、不完整的或错误的代码。

  • 修正,让该字符串被读起来!
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-06-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 append代替+
  • 2 append的链式调用
  • 3 读写不匹配
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档