1
resposta

[Dúvida] [Dúvida] Erro que aparece: Cannot invoke

No curso: Kotlin: evoluindo a aplicação com OO, na vídeo aula: criando uma lista de recomendação de jogos, ao fazer a recomendação do jogo e adicionar a nota, quando executo aparece o seguinte erro: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "java.util.List.add(Object)" because "this.listaNotas" is null

A primeira linha que aponta o erro é quando vou adicionar a nota em: private val listaNotas = mutableListOf()

1 resposta

Olá, James! Como vai?

Você está enfrentando um problema com uma exceção NullPointerException no Kotlin. Isso geralmente ocorre quando você tenta acessar um objeto que ainda não foi inicializado, ou seja, é nulo.

No seu caso, o erro está ocorrendo quando você tenta adicionar um elemento à lista "listaNotas". A mensagem de erro indica que "listaNotas" é nulo no momento em que você tenta adicionar a nota.

A linha que você mencionou, private val listaNotas = mutableListOf<Int>(), deveria inicializar a lista "listaNotas" como uma lista mutável de Integers. Isso significa que, a menos que algo esteja alterando "listaNotas" para nulo em algum lugar do seu código, você deveria ser capaz de adicionar elementos a ela sem problemas.

Aqui estão algumas coisas que você pode verificar:

  1. Certifique-se de que "listaNotas" não está sendo redefinido para nulo em algum lugar do seu código. Como "listaNotas" é uma val (uma variável de apenas leitura), você não deveria ser capaz de redefini-la depois de inicializá-la, mas vale a pena verificar.

  2. Verifique se "listaNotas" está sendo inicializada antes de ser usada. Se a linha private val listaNotas = mutableListOf<Int>() estiver depois da linha onde você tenta adicionar uma nota à lista, você receberá uma NullPointerException.

  3. Se "listaNotas" está dentro de uma classe, certifique-se de que a instância da classe está sendo criada corretamente antes de tentar adicionar elementos à lista.

Espero que isso ajude a identificar o problema. Lembre-se, a programação é muitas vezes um processo de tentativa e erro, então não desanime se as coisas não funcionarem na primeira vez. Continue tentando e você vai conseguir!

Espero ter ajudado!

Caso tenha dúvidas, fico à disposição.

Abraços e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software