Red de conocimiento del abogados - Preguntas y respuestas sobre la Ley de patentes - La diferencia entre ArrayList list = new ArrayList() y Listlt list = new ArrayListlt ()

La diferencia entre ArrayList list = new ArrayList() y Listlt list = new ArrayListlt ()

La diferencia entre List y ArrayList

List es una interfaz y ListArray es una clase.

ListArray hereda e implementa List.

Por lo tanto, List no se puede construir, pero puede crear una referencia a List como se indicó anteriormente y ListArray se puede construir.

Lista lista; //Lista correcta=null;

Lista lista=nueva Lista(); // Uso incorrecto

Lista lista = nueva ArrayList () ; Esta oración crea un objeto ArrayList y lo rastrea hasta la Lista. En este momento es un objeto List. Algunos ArrayList tienen propiedades y métodos que List no tiene, por lo que ya no se pueden usar.

Y ArrayList list=new ArrayList(); al crear un objeto se conservan todas las propiedades de ArrayList.

Este es un ejemplo:

import java.util.*;

clase pública TestList{

public static void main(String) [] args){

Lista lista = nueva ArrayList();

ArrayList arrayList = nueva ArrayList()

list.trimToSize(); Error, no existe tal método.

arrayList.trimToSize(); //Este método está disponible en ArrayList.

}

}

Compílalo y sabrás el resultado.

Si se ve así:

List a=new ArrayList();

Entonces a tiene todas las propiedades y métodos de List y ArrayList y no los tendrá. reducirse

p>

Si List y ArrayList tienen los mismos atributos (como int i) y el mismo método (como void f()),

entonces a.i llama a i en Lista

a.f() llama a f() en ArrayList;