簡體   English   中英

在Java中,如何在方法參數中正確使用抽象類?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM