Problema de Castings
Publicado por Pedro Suárez (3 intervenciones) el 21/09/2006 20:08:48
Hola, buenas. Escribo porque tengo un problema con la herencia en Java:
Tengo una función que está declarada así:
public void MiFuncion(ArrayList<MiTipo>){...}
donde MiTipo" es una clase abstracta. Mi idea es pasarle a "MiFuncion" ArrayLists de clases hijas de "MiTipo", por ejemplo.
public class Hijo extends MiTipo{.....}
public class prueba{
...
ArrayList<Hijo> AL = new ArrayList<Hijo>();
MiFuncion(AL);
...
}
Y entonces, me da error de compilación!!!---->
MiFuncion(java.util.ArrayList<MiTipo>) in prueba cannot be applied to (java.util.ArrayList<Hijo>)
¿Qué tengo que hacer? Me funciono si no especifico el tipo del ArrayList, pero pregunto por una solución más elegante.
Muchas gracias.
Pedro Suárez
Tengo una función que está declarada así:
public void MiFuncion(ArrayList<MiTipo>){...}
donde MiTipo" es una clase abstracta. Mi idea es pasarle a "MiFuncion" ArrayLists de clases hijas de "MiTipo", por ejemplo.
public class Hijo extends MiTipo{.....}
public class prueba{
...
ArrayList<Hijo> AL = new ArrayList<Hijo>();
MiFuncion(AL);
...
}
Y entonces, me da error de compilación!!!---->
MiFuncion(java.util.ArrayList<MiTipo>) in prueba cannot be applied to (java.util.ArrayList<Hijo>)
¿Qué tengo que hacer? Me funciono si no especifico el tipo del ArrayList, pero pregunto por una solución más elegante.
Muchas gracias.
Pedro Suárez
Valora esta pregunta


0