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?)''' '是沒用的。 –