[英]In Java, how do I properly use an abstract classes in method Parameters?
我有一個抽象類看起來像這樣:
public abstract class Mapper<T>{
public T getResult(String json){
...
}
}
T是json字符串映射到的對象類。
我有幾個擴展這個抽象類的映射類; 都具有不同的T值。 我想要的是能夠將父Mapper類插入到所有子類可以使用的方法中; 所以我不必為每個子類編寫單獨的方法。 我期望的方法如下所示:
public handleResult(String 1, String 2, boolean 3, Mapper<T> map){
....
}
這給了我一個問題,它無法解決T,我嘗試過這樣:
public handleResult(String 1, String 2, boolean 3, Mapper map){
....
}
但是,這會導致空指針問題,因為它無法解析T進一步進入代碼的問題。
任何人都可以指導我如何在方法中使用這個抽象類?
你的方法應該是這樣的
public <T> T handleResult(String p1, String p2, boolean p3, Mapper<T> map){
...
}
或者如果它不應該返回任何東西:
public <T> void handleResult(String p1, String p2, boolean p3, Mapper<T> map){
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.