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 № 1Non 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.