/ / Ako sa vyhnúť „Možnému nebezpečnému priradeniu k nefinálnemu statickému poľu v konštruktore“ (AssignmentToNonFinalStatic) - Java, PMD

Ako sa vyhnúť "možnému nebezpečnému priradeniu do nekonečného statického poľa v konštruktore" (AssignmentToNonFinalStatic) - java, pmd

Môj kód momentálne trpí „Možným nebezpečným priradením k nefinálnemu statickému poľu v konštruktore“ (AssignmentToNonFinalStatic v PMD).

Trieda je napísaná ako samostatná trieda, vlastnosť ovplyvnená týmto varovaním vyzerá takto

súkromný statický reťazec myProperty;

a je vyplnený týmto konštruktom:

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

Existuje prepracovaný spôsob, ako toto varovanie vyvrátiť?

odpovede:

4 pre odpoveď č. 1

Nenastavujte v konštruktore statické polia. V takom prípade urobte pole nestatické.

Inak by som musel mať podozrenie, že nepotrebujete konštruktor. Namiesto toho môžete inicializovať statické pole v statickom inicializačnom bloku alebo statickou metódou.