¿Cuál es la diferencia en la declaración de una colección como tal¿Debo declarar/Inicializar ArrayLists como listas, ArrayLists, o ArrayLists de <Cat>
public class CatHerder{
private List cats;
public CatHerder(){
this.cats = new ArrayList<Cat>();
}
}
//or
public class CatHerder{
private ArrayList cats;
public CatHerder(){
this.cats = new ArrayList();
}
}
//or
public class CatHerder{
private ArrayList<Cat> cats;
public CatHerder(){
this.cats = new ArrayList<Cat>();
}
}
y márquelo como final, si lo configura solo en el constructor. – Puce
@Puce: buen punto. –
He visto este argumento usado muchas veces antes. Pero, ¿en qué circunstancia verías realmente que es necesario declarar el tipo de interfaz? ¿Hay algún caso de uso en el que uno inicialice un tipo de colección específico, agregue datos y luego, un poco más tarde, cambie de opinión sobre el tipo de colección? –