如果接口定義不使用泛型,是否可以生成接口的實現?我無法控制需要實現的接口,但想要爲我的實現禁止「未檢查」警告。可能爲Java中的非通用接口的實現添加泛型?
2
A
回答
4
有些問題可以解決,有些問題不能解決。
如果實例的接口看起來是這樣的:
interface OldInterface {
List someMethod();
}
話,當然,你可以通過
class NewClass implements OldInterface {
public List<String> someMethod() { // DOES COMPILE.
...
}
}
如果,另一方面,界面看起來像
實現它interface OldInterface {
void someMethod(ArrayList list);
}
然後沒有什麼可以做的關於它編程明智。
class NewClass implements OldInterface {
public void someMethod(ArrayList<String> list) { // DOES NOT COMPILE.
...
}
}
這就是所謂的unavoidable generic type problem。幸運的是,這些警告被抑制,至少在Eclipse中,通過檢查忽略不可避免的通用類型問題下
窗口>首選項>的Java>編譯器>錯誤/警告
0
限制的返回值始終是可能的當重寫時,它被稱爲協變式返回類型。添加一個泛型元素就是這樣。
否則,如前所述,限制參數是不允許的。重寫時,可以使用更寬的類型作爲參數,它被稱爲contra-variance。
相關問題
- 1. 整蠱Java泛型:泛型類實現非通用接口與通用方法
- 2. 接口中的泛型類型和實現中的非泛型
- 3. 可能將NullObject實現註冊爲泛型接口的後備?
- 4. 非泛型接口作爲泛型接口的同義詞
- 5. 實現接口的非泛型方法中的泛型模式匹配
- 6. 實現通用接口語法的泛型類型?
- 7. 是否有可能爲特定的而非泛型實現AbstractList?
- 8. 接口中的Java泛型
- 9. 使用泛型實現接口
- 10. 使用泛型實現多接口
- 11. 在繼承自非通用接口的泛型類型中實現通用方法的問題
- 12. Groovy無法實現使用繼承和泛型的Java接口
- 13. 與非泛型實現泛型類型
- 14. MEF 2無法導入泛型接口的通用實現
- 15. 在泛型類中實現通用接口
- 16. Java的泛型和接口
- 17. Java泛型,實現一個類型爲Iterable的接口<E>
- 18. 使用不同的泛型類型實現同一個泛型Java接口的多個實例?
- 19. Java抽象類使用泛型實現接口
- 20. 實現嵌套泛型接口
- 21. 實現泛型和接口組成
- 22. C#實現接口與泛型重寫
- 23. 與集合實現接口和泛型
- 24. 一個功能實現通用和非通用接口
- 25. Enum使用Java中的泛型返回接口的實例?
- 26. 使用泛型並在接口中實現可選字段或可選地實現接口?
- 27. 在Java中實現通用接口
- 28. 在Clojure中實現Java通用接口
- 29. 如何在java接口中使用泛型的泛型
- 30. 查詢實現一個通用接口的類的泛型類型定義