加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

为什么在SonarQube中为Java标记了“”

发布时间:2020-12-15 04:31:44 所属栏目:Java 来源:网络整理
导读:在 Java中,我可以通过“”intValue将int转换为字符串. Sonarqube和sonarlint将此标记为不合适. 为什么这不合适.据我所知,Integer.toString(intValue)更详细,并且相同. 我可以设想标记它,如果不是“”但是对象x用作x intValue,其中x被初始化为整数.使用Javasc
在 Java中,我可以通过“”intValue将int转换为字符串.
Sonarqube和sonarlint将此标记为不合适.

为什么这不合适.据我所知,Integer.toString(intValue)更详细,并且相同.

我可以设想标记它,如果不是“”但是对象x用作x intValue,其中x被初始化为整数.使用Javascript代码进行类似的操作.

解决方法

关于它为什么这么糟糕,Java会自动优化String连接以使用StringBuilder.这意味着通过这样做

"" + d

你真的在做

new StringBuilder().append(d).toString();

如果你这样做

d + ""

你最终编译

new StringBuilder(String.valueOf(d)).toString();

与仅仅打电话相比,这是相当大的资源浪费

String.valueOf(d);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读