/ / Come evitare "Possibile assegnazione non sicura a un campo statico non finale in un costruttore" (AssignmentToNonFinalStatic) - java, pmd

Come evitare "Possibile assegnazione non sicura a un campo statico non finale in un costruttore" (AssignmentToNonFinalStatic) - java, pmd

Il mio codice attualmente soffre di "Possibile assegnazione non sicura a un campo statico non finale in un costruttore" (AssignmentToNonFinalStatic in PMD).

La classe è scritta come una classe singleton, la proprietà interessata da questo avviso appare come questa

stringa statica privata myProperty;

ed è riempito da questo costrutto:

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

C'è un modo elaborato per negare questo avvertimento?

risposte:

4 per risposta № 1

Non impostare campi statici nel costruttore, in questo caso, rendere il campo non statico.

Altrimenti, dovrei sospettare che non sia necessario un costruttore, ma è possibile inizializzare il campo statico in un blocco di inizializzazione statico o in un metodo statico.