2012-03-12 2 views
0

현재 코드에 "생성자의 최종 정적 필드에 안전하지 않은 할당이 가능합니다"(PMD의 AssignmentToNonFinalStatic) 문제가 있습니다."생성자의 최종 정적 필드에 가능한 안전하지 않은 할당"(AssignmentToNonFinalStatic)

클래스가 단일 클래스로 작성되고,이 경고에 의해 영향을받는 속성은이

개인 정적 문자열 myProperty과 같다;

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

이 경고를 부정하는 정교한 방법이 있나요 :

이 구조에 의해 가득?

답변

4

생성자에 정적 필드를 설정하지 마십시오. 이 경우 비 정적 필드를 만듭니다.

그렇지 않으면 생성자가 필요하지 않다고 생각됩니다. 대신 static initialiser 블록이나 정적 메소드에서 정적 필드를 초기화 할 수 있습니다.

관련 문제