Viu? Eu sabia, porque eu mesmo já fiz isso várias vezes… é questão de experiência e prática, no começo você deixa esse tipo de coisa passar despercebida mesmo, mas depois você aprende… apanhando, mas aprende… :thumbup:
Eh isso ai!
Engraçado, quando vc rodou o depurador, não testou os tipos de variável? Era para ter visto o null ali, durante a depuração.
Quando um método chama o outro assim, vc precisa depurar usando o “step into”, ir dentro de cada método, e ver o valor que está sendo retornado. Você teria resolvido essa dúvida em poucos segundos.
Então fica as dicas:
- Jamais faça exceptions desaparecerem. Logue-as em algum arquivo de erro, ou jogue-as para o System.err.
- Use o depurador nesses casos, testando valor por valor.
- Saiba quais são as exceptions comuns e porque elas são lançadas. NullPointerException nunca terá a ver com tamanho de lista.
Com a dica 1 vc chegaria de cara na linha do problema. Com a 2, bastaria alguns passinhos para descobrir quem é a variável nula da história.