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
Abraços.