Qual é a diferença entre listar e ArrayList? [duplicado]
esta pergunta já tem uma resposta aqui:
- lista de tipos vs lista de tipos em Java 15 respostas
- O que é uma lista contra um ArrayList? [duplicate] 6 respostas
List<SomeObject> myList = new ArrayList<SomeObject>();
ArrayList<SomeObject> myList = new ArrayList<SomeObject>();
Qual é a diferença dessas duas instâncias?
133
1 answers
Não há diferença entre implementações de listas em ambos os exemplos. Há, no entanto, uma diferença de uma forma que você pode ainda usar variável myList em seu código.
Quando define a sua lista como:
List myList = new ArrayList();
Você só pode chamar métodos e membros de referência que são definidos na interface da lista. Se o Definir como:
ArrayList myList = new ArrayList();
Você será capaz de invocar métodos específicos de ArrayList e usar membros específicos de ArrayList além daqueles cujas definições são herdado da lista.
No entanto, quando você chama um método de uma interface de lista no primeiro exemplo, que foi implementado em ArrayList, o método de ArrayList será chamado (porque a interface de lista não implementa quaisquer métodos).
Isso chama-se polimorfismo. Podes ler sobre isso. 147
Author: ATrubka, 2016-11-28 21:26:30