List e ArrayList

3 respostas
C

List lista = new ArrayList();

nesta linha de codigo pq declaro com List e estancia como ArrayList???

3 Respostas

mapleplayer

List é uma interface e ArrayList é uma implementação de List.
Não da para instanciar uma interface.

nandooliveira

List é uma interface implementada por várias classes, tais como ArrayList , LinkedList e Vector.
Daí você poder instanciar um arraylist usando List.
Isso torna o código mais flexível e fácil de alterar no caso de futuramente querermos trabalhar com outra estrutura que não seja um ArrayList.

Mas você também poderia usar o ArrayList ao invés de List.

ArrayList lista = new ArrayList();

Para saber se tem alguma finalidade em específico nesse caso acredito que seria interessante colocar o resto do código.

ViniGodoy

Aqui tem uma explicação detalhada do porque:

Em poucas palavras: Isso facilita para que, no futuro, você possa trocar a implementação da lista, sem ter que alterar o seu programa inteiro. É considerado uma boa prática.

Criado 1 de março de 2011
Ultima resposta 1 de mar. de 2011
Respostas 3
Participantes 4