簡體   English   中英

Java中的惰性通用類型傳遞

[英]Lazy generic type pass in java

假設我的界面Status很簡單

interface Status {
    Integer getNumber();
}

並有簡單的界面來檢索它:

interface A<T extends Status> {
    T getStatus();
}

我感興趣的內容可以簡化為:

interface DateStatus extends Status {
    Date getDate();
}

interface B<T extends DateStatus> extends A<T> {

}

對於從A擴展的接口B方法, getStatus()返回DateStatus的實例。

簡單的例子:

A.getStatus() -> Status

B.getStatus() -> Status

B<DateStatus>.getStatus() -> DateStatus

如何在不添加通配符的情況下實現B.getStatus() -> DateStatus

您需要做的是在B的定義中覆蓋getStatus

public interface B<T extends DateStatus> extends A<T> {
    @Override
    T getStatus();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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