Diseño simple y sencillo código pero no se compila:Java: interfaz en la recolección no se reconoce como parámetro
public interface Insertable {
public String getInsertStmt(String table);
}
public class ClassCanBeInserted implements Insertable {
public String getInsertStmt(String table) {}
}
public class SomeClass {
public static void main() {
List<ClassCanBeInserted> list = new ArrayList<ClassCanBeInserted>();
SomeMethod(list);
}
private static void SomeMethod(List<Insertable> list) {}
}
Y la llamada a SomeMethod() no se compilará. Inglés pobre pero el código debería explicar. ¿Puede alguien averiguar qué es lo que falla y cómo obtener un diseño para proponer que se pueda utilizar una lista de clases implementadas en la interfaz en dicho método?
Nuevamente, inglés pobre, por lo que puede que no se exprese bien. Déjame saber tus preguntas. ¡Gracias! mensaje
error dado: El método SomeMethod (Lista) en el tipo ClassCanBeInserted no no es aplicable a los argumentos (Lista)
¡Gracias! Funciona, y la respuesta es clara y precisa. –
Gracias, esto me ayudó a resolver mi problema. Además, si en su función desea declarar un objeto del tipo genérico, puede declarar su función con 'public static void SomeMethod (Lista list) {}'. A continuación, puede declarar una variable de ese tipo con 'T varName;' –