超载我在一个类中的以下方法:与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