Oi Ailton, tudo bem?
A razão pela qual criamos a classe InfoGamerJson
, convertemos o JSON para uma lista de objetos dessa classe e depois convertemos os elementos da lista para objetos do tipo Gamer
é para realizar a tradução dos dados que estão no arquivo JSON para o formato que queremos receber na nossa aplicação.
Essa conversão é necessária porque a classe ConsumoApi
retorna InfoGamerJson
, mas o que queremos receber é o Gamer
. Portanto, precisamos fazer essa transformação.
Utilizando o .map
, conseguimos realizar essa conversão de forma simples e eficiente. No código que você mencionou, a lista listaGamer
é mapeada e cada objeto infoGamerJson
é transformado em um objeto Gamer
, utilizando os atributos correspondentes.
val listaGamerConvertida = listaGamer.map { infoGamerJson -> Gamer(infoGamerJson.nome, infoGamerJson.email, infoGamerJson.dataNascimento, infoGamerJson.usuario) }
return listaGamerConvertida
Essa é uma operação comum na programação, onde precisamos transformar listas de um determinado tipo de elemento em outro tipo. O .map
é uma propriedade de List<>
que nos permite realizar essas manipulações e conversões necessárias.
Um abraço e bons estudos.