map_key_type_not_assignable 진단: 맵 키 타입이 호환되지 않는 경우

map_key_type_not_assignable 진단: 맵 키 타입이 호환되지 않는 경우

맵 리터럴에서 키/값 쌍의 키가 맵의 키 타입에 할당될 수 없는 타입일 때 Dart 분석기가 알려주는 진단이에요. 예를 들어 키 타입이 String인 맵에 int 값을 키로 쓰면 이 진단이 나와요.

출처: map_key_type_not_assignable

본문

설명

분석기는 맵 리터럴의 키/값 쌍에서 키가 맵의 키 타입에 할당될 수 없는 타입일 때 이 진단을 만들어요.

예시

다음 코드는 2int인데 맵의 키는 String이어야 하기 때문에 이 진단이 나와요.

var m = <String, String>{2: 'a'};

흔한 해결 방법

맵의 타입이 올바르다면, 키를 올바른 타입으로 바꿔요.

var m = <String, String>{'2': 'a'};

키의 타입이 올바르다면, 맵의 키 타입을 바꿔요.

var m = <int, String>{2: 'a'};

더 알아보기