unnecessary_const_in_enum_constructor: enum 생성자 안의 불필요한 `const` 키워드
unnecessary_const_in_enum_constructor: enum 생성자 안의 불필요한 const 키워드
enum의 생성자는 원래부터 암시적으로 const예요. 그런데 거기에 const 키워드를 또 붙이면 Analyzer가 이 진단을 알려줘요. 굳이 다시 적을 필요가 없거든요.
본문
이 진단은 const 키워드가 생성형 enum 생성자(generative enum constructor) 안에서 쓰일 때 발생해요. enum의 생성자는 암시적으로 const라서, 키워드를 명시할 필요가 없어요.
Examples
아래 코드는 enum의 주 생성자(primary constructor)에 const 키워드가 필요 없는데 붙어 있어서 이 진단이 발생해요.
enum const E(final int i) {
a(1),
b(2),
}
아래 코드는 enum 본문 안에 있는 생성자에 const 키워드가 필요 없는데 붙어 있어서 이 진단이 발생해요.
enum E {
a(1),
b(2);
const E(this.i);
final int i;
}
Common fixes
불필요한 키워드를 제거하면 돼요.
enum E(final int i) {
a(1),
b(2),
}
enum E {
a(1),
b(2);
new(this.i);
final int i;
}