map_value_type_not_assignable 진단: 맵 값 타입이 호환되지 않는 경우

map_value_type_not_assignable 진단: 맵 값 타입이 호환되지 않는 경우

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

출처: map_value_type_not_assignable

본문

설명

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

예시

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

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

흔한 해결 방법

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

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

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

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

더 알아보기