在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);