java - 如何避免 "Possible unsafe assignment to a non-final static field in a constructor"(AssignmentToNonFinalStatic)

标签 java pmd

我的代码目前遇到“可能对构造函数中的非最终静态字段进行不安全分配”(PMD 中的 AssignmentToNonFinalStatic)。

该类被编写为单例类,受此警告影响的属性如下所示

私有(private)静态字符串 myProperty;

并由这个构造填充:

public SystemPropertyUtils() throws ConfigException {
    someMethodThrowingConfigException();
    myProperty = "someValue" + this.someOtherValueFromAThreadSafeString;
}

是否有详细的方法来否定此警告?

最佳答案

不要在构造函数中设置静态字段。在这种情况下,将字段设为非静态。

否则,我不得不怀疑您不需要构造函数。相反,您可以在静态初始化程序 block 或静态方法中初始化静态字段。

关于java - 如何避免 "Possible unsafe assignment to a non-final static field in a constructor"(AssignmentToNonFinalStatic),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9671857/

相关文章:

java - Java 旅行商

java - 如何抑制 PMD 中的违规行为?

java - Eclipse-PMD : error while installing through eclipse market place

java - 为什么需要编写获取自定义类的对象的类型变量?

java - JRuby on Rails : Using custom Java classes in your Rails app

java - 无法从 PMD 中排除某些规则

java - 如何在java中创建检查条件语句大括号的逻辑?

java - 从 Gradle 运行 PMD 任务时出现 NoClassDefFoundError

java - 如何在图像ROI上滑动Rect

java - Tomcat不返回图片资源