實施例的存取:最後字段代替枚舉
public enum TestEnum {
FOO(4), BAR(7);
public final int externalValue;
private TestEnum(int externalValue) {
this.externalValue = externalValue;
}
}
通知如何沒有getExternalValue()方法。由於externalValue字段是最終的,因此沒有修改的風險。通過Sonar像這樣運行代碼給了我一個「變量」externalValue'必須是私有的並且有訪問器方法「的錯誤。
假設我是一個總的白癡,並解釋:爲什麼我絕對需要實現和使用externalValue訪問器?
這很難解釋爲什麼,但是Java Bean模式從一個聰明的構造變成一個普遍規律的方式,總讓我感到不安。我只是覺得它不應該總是有必要的。
這看起來像一個聲納特定的問題,而不是一個Java。 – 2013-02-18 12:15:44
根據Java,這不是一個錯誤;它必須是由Sonar執行的東西。 – Thevenin 2013-02-18 12:19:20