我遇到了Java中泛型的問題,我無法找到類似方式使用泛型的人的在線解決方案或示例。我有一組處於相同請求/響應結構中的方法。例如,用戶填充Request對象中的字段,將該對象傳遞給幫助器方法,並且它們返回Response對象。我的所有請求對象都從一個公共的Request超類(以及類似於Response超類的Response對象)擴展而來。我希望我的助手類也具有一致的結構,因此我使用了一個接口。下面是一些代碼來說明...接口中的Java泛型
請求超類:
public class SuperRequest {
// ...
}
示例請求子類:
public class SubRequest extends SuperRequest {
// ...
}
響應超類:
public class SuperResponse {
// ...
}
實施例響應亞類:
public class SubResponse extends SuperResponse{
// ...
}
接口:
public interface SomeInterface {
public <T extends SuperRequest, U extends SuperResponse> U someMethod(T request);
}
你可以從界面看,我想傳遞一個對象,它是SuperRequest
一個孩子,我想返回一個對象,它是SuperResponse
一個孩子。下面是我的實現:
public class SomeImplementation implements SomeInterface {
@Override
public SubResponse someMethod(SubRequest request) {
return null;
}
}
在Eclipse中,我得到的編譯錯誤,因爲編譯器告訴我,我有未實現的方法和@Override
符號「沒有覆蓋的超類型方法」。
任何人都可以幫助我嗎?我的語法是不正確的還是我對泛型的理解有點偏離?任何幫助是極大的讚賞!
太棒了!我有一種感覺,我只是在語法/聲明上有點偏離。謝謝您的幫助! – ggrigery 2012-02-20 16:51:17
沒問題,一定要接受最好的答案;) – ggreiner 2012-02-20 16:51:45