Lista vazia ou null

Eu tenho um método que vai no banco buscar uns paranuês. E me veio a dúvida, caso não tenha registros, é melhorm eu método retornar uma lista vazia ou retornar o null mesmo? Ou tanto faz?

Em termos de código, tanto faz.

Mas é uma boa prática evitar valores nulos até pra evitar NullPointerException em outros pontos do código. Até frameworks ORM fazem isso.

Outra dica é tentar pensar a situação no mundo real: null quer dizer “não existe”. No seu caso a lista existe, ela só está vazia no momento.

1 curtida

Em geral, quando eu crio algum método que busca mais de um resultado, uma lista, no caso, eu sempre faço algo como:

public List<Algo> listarAlgo() throws Exception {
    List<Algo> algos = new ArrayList<>();
   //Tudo que preciso para preencher (ou não) a lista de algos
    return algos;
}

Logo, a lista nunca será nula. Caso não haja registros, ela estará vazia.