超載我在一個類中的以下方法:與Java泛型類型參數
void delete(ClassA a) {
//....
}
void delete(ClassB b) {
//...
}
void delete(List<ClassA> list) {
for (ClassA a: list) {
delete(a);
}
}
void delete(List<ClassB> list) {
for (ClassB b: list){
delete(b);
}
}
的超載工作正常,前兩種方法。但是第三種和第四種方法之間有衝突。
是否可以用一種方法替換它們?我嘗試以下方法,這是不正確:
void delete(List<? extends Object> list){
for (Object o: list){
delete((o.getClass())o);
}
}
我怎麼能在運行時檢測到的類類型的實例的列表,並調用相應的方法?
使用'instanceof'來檢查對象 – soorapadman