簡單的設計和簡單的代碼,但不進行編譯:的Java:在採集接口不被識別爲參數
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) {}
}
而且調用的someMethod()將無法編譯。英語不好,但代碼應該解釋。有人可以請弄清楚什麼是錯的,以及如何得到一個設計的建議,在這種方法中可以使用接口實現的類的列表?
再說一次,英文差,所以可能表達不好。讓我知道你的問題。謝謝!
錯誤消息給出: 在類型ClassCanBeInserted的方法的someMethod(列表)是不適用的參數(列表)
謝謝!它有效,答案清晰準確。 – 2010-12-16 09:02:23
謝謝,這幫助我解決了我的問題。另外,如果在你的函數中你想聲明一個泛型類型的對象,你可以用'public static void SomeMethod(List list){}'聲明你的函數。然後你可以用'T varName;'來聲明一個該類型的變量。 –
2015-07-09 18:28:21