0
我想用一个方法为两种类型,我尝试这样的:如何使用泛型函数参数
private <T extends Base> boolean isNeeded(String name, T receivedItem) {
Base item = null;
if (receivedRequest.getClass().equals(Derived1.class)) {
item = (Derived1) receivedItem;
} else if (request.getClass().equals(Derived2.class)) {
item = (Derived2) receivedItem;
}
callMethodDoSomething(item.getData().getSpecificData());
}
但我不知道该怎么称呼这是只有在派生类的方法。哪种做法最好,最安全?
这是相当难以理解的实际问题是什么?它会如果您提供实际调用子类(类)方法且未能编译的代码,则会使事情更好。这些调用应该在每个演员阵容之后在每个'''if'''块内。是'''callMethodDoSomething''这个项目可以接受的常见处理,无论它是否扩展Derived1'或Derived2'' –
也是两个cast'''(Derived?)''' '是没用的。 –