Pular para o conteúdo principal

equal_keys_in_map

Detalhes sobre o diagnóstico 'equal_keys_in_map' produzido pelo analisador do Dart.

Two keys in a map literal shouldn't be equal.

Descrição

#

O analisador emite este diagnóstico quando uma chave em um mapa não constante é igual a uma chave anterior do mesmo mapa. Se duas chaves são iguais, então o segundo valor sobrescreve o primeiro, o que torna ter os dois pares sem sentido e provavelmente indica um bug.

Exemplo

#

O código a seguir gera este diagnóstico porque as chaves a e b têm o mesmo valor:

dart
const a = 1;
const b = 1;
var m = <int, String>{a: 'a', b: 'b'};

Correções comuns

#

Se as duas entradas devem estar no mapa, então altere uma das chaves:

dart
const a = 1;
const b = 2;
var m = <int, String>{a: 'a', b: 'b'};

Se só uma das entradas é necessária, então remova a que não é necessária:

dart
const a = 1;
var m = <int, String>{a: 'a'};

Observe que literais de mapa preservam a ordem de suas entradas, então a escolha de qual entrada remover pode afetar a ordem em que as chaves e os valores são retornados por um iterador.

Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.