我想實現在Java中這樣的事情,但要編譯時錯誤:解決Java的泛型類型的錯誤與抽象類方法
The method onMessage(TextMessage, Class) in the type AbstractTestLoader is not applicable for the arguments (TextMessage, Class)
我理解錯誤的原因,但我也覺得應該有有些方法可以通過鑄造達到此目的,也可以採取其他方式。
public abstract class AbstractTestLoader<T extends AbstractEntity<T>> {
public void onMessage(TextMessage message) throws Exception {
onMessage(message, this.getClass()); // I want to correct this line in such a way so that I can call below method with actual Class of {T extends AbstractEntity<T>}
}
public void onMessage(TextMessage message, Class<T> clazz) throws Exception {
//here my original logic will go
}
}
你爲什麼覺得*是這樣?也許你想增加對潛在問題的理解,以確保每個人都在同一頁面上。由於我們在探索解決方案空間時必須同意根本原因。 – GhostCat
嗨@GhostCat,我已經嘗試用註釋行來探索我的底層問題'我想以這種方式糾正這一行,以便我可以用下面的方法調用實際類{T extends AbstractEntity}'也可以如果您想回答,請參考我發佈的解決方案以獲得更好的解決方案。 –
'AbstractTestLoader'會成爲直接的超類嗎? – glee8e