Boa pratica em retorno de método

olá.
quando um método retorna uma lista, caso essa lista seja vazia, o mais correto é retornar uma lista vazia ou null? ou tanto faz?
obrigado.

É melhor retornar a lista vazia. Isso evita que quem receba a lista tenha que ficar testando por retornos nulos. E também permite que retorno do método seja usado sem medo dentro de fors, ou como entradas de tablemodels.

massa. valeuzão. pensei nisso exatamente devido a um nullpointer que tava dando na aplicação, hehe.

valeu cara! “Obrigado Fortaleza!”

Null References: The Billion Dollar Mistake é uma palestra que Tony Hoare, o inventor do Quicksort e um dos inventores da linguagem Algol (mãe do Pascal, do C e de quase todas as linguagens procedurais atuais) deu a respeito do engano que cometeu ao inventar o valor “null”.

Além de tudo o que foi citado, no meu ponto de vista, um vetor é baseado na teoria dos conjuntos, tanto é que tem exemplos de método, como retainAll() e etc.
Uma lista nada mais é que um vetor, por baixo dos panos, é assim que eu vejo, pelo menos.

Diante disso, quando não existe uma “relação” entre conjuntos, qual o resultado? Um conjunto “nulo” ou um conjunto vazio?
Um exemplo simples disso, é o metodo getResultList() utilizado em JPA, mesmo que sua query não lhe retorne nenhum valor, ele retorna um uma lista vazia.

Outro exemplo, é o método .listFiles(), também retorna, um vetor [] vazio. Há outros exemplos mas estes já foram suficientes.
Portanto, como já disseram e assino embaixo, o correto é um retorno para vetores sempre vazios :slight_smile:

Abraços.