辛格尔顿Java类可以有静态常量变量?声纳皮棉错误

Ashutoshg:

在Java单例类,我想做出类似下面的代码最终常数。

  1. private final int threshold = 3; //不合规代码示例由SONAL皮棉
  2. private static final int THRESHOLD = 3; //规定代码由Sonarlint

我的问题是,为什么单例类应该有static关键字在final int/ string常数这个类只有一个实例?

Mureinik:

这可能是一个警告声纳林特无法识别。这是相当困难的认识单身静态分析,所以他们只是选择忽略这个警告反正发出警告。

虽然理论上你是对的(这里只有一个实例,因此,不断将被宣布只有一次这样),你可能会更好保存这段代码以后的维护者混乱(和需要配置声纳忽略这个警告),和只是把它定义为static过。您如果编译器实际上是内联它,这AFAIK,只用做还可能获得一分钟的内存消耗提高static final会员。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章