enum 은 final 필드만 선언할 수 있어요
enum 은 final 필드만 선언할 수 있어요
enum 안의 인스턴스 필드가 final 로 선언되지 않았을 때 분석기가 알려주는 진단이에요.
본문
enum 의 인스턴스 필드가 final 로 표시되지 않았을 때 이 진단이 발생해요.
아래 코드는 필드 f 가 final 필드가 아니기 때문에 이 진단이 나와요.
enum E {
c;
int f = 0;
}
고치는 방법
필드를 enum 에 반드시 둬야 한다면, 그 필드를 final 로 표시해 주면 돼요.
enum E {
c;
final int f = 0;
}
필드를 없앨 수 있다면, 그냥 제거해도 되고요.
enum E { c }
더 알아보기
- enum 과 그 제약 사항에 대한 자세한 내용은 Dart 공식 문서의 enums 자료를 참고해요.