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.