Как избежать «Возможного небезопасного присвоения неконечному статическому полю в конструкторе» (AssignmentToNonFinalStatic) - PullRequest
1 голос
/ 12 марта 2012

Мой код в настоящее время страдает от "Возможного небезопасного присвоения неконечному статическому полю в конструкторе" (AssignmentToNonFinalStatic в PMD).

Класс записывается как одноэлементный класс, свойство, затронутое этим предупреждениемвыглядит так:

private static String myProperty;

и заполняется этой конструкцией:

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

Есть ли разработанный способ отменить это предупреждение?

1 Ответ

4 голосов
/ 12 марта 2012

Не устанавливайте статические поля в конструкторе. В этом случае сделайте поле нестатичным.

В противном случае я бы заподозрил, что вам не нужен конструктор. Вместо этого вы можете инициализировать статическое поле в статическом блоке инициализатора или в статическом методе.

...