1
resposta

[Dúvida] Erro que aparece: Cannot invoke "java.util.List.add(Object)" because "this.listaNotas" is null

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

E aí, James Mayke! Blz? Então, esse erro é bem comum quando você tenta adicionar um elemento a uma lista que ainda não foi inicializada.

O erro java.lang.NullPointerException está te dizendo que a variável listaNotas ainda não foi inicializada (ou seja, está null) quando você tenta usar o método add() nela.

Você já declarou private val listaNotas = mutableListOf(), mas isso só declara a lista; não a inicializa. Em algum momento, você precisa chamar esse método add() em algum lugar do seu código para realmente criar uma instância da lista.

Tente inicializar a lista quando você a declara. Assim:

private val listaNotas: MutableList<SeuTipoAqui> = mutableListOf()

E aí você pode usar listaNotas.add(seuElemento) sem problemas.

Se tiver mais dúvidas, dá um toque aí!