如果接口定義不使用泛型,是否可以生成接口的實現?我無法控制需要實現的接口,但想要爲我的實現禁止「未檢查」警告。可能爲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. Java泛型接口實現
- 4. 通用類型從實現中的泛型類型的接口
- 5. 可能將NullObject實現註冊爲泛型接口的後備?
- 6. Java泛型 - 如何將非泛型添加到通用列表
- 7. 非泛型接口作爲泛型接口的同義詞
- 8. 實現接口的非泛型方法中的泛型模式匹配
- 9. Java泛型:爲什麼內部接口不能實現(內部)超級接口?
- 10. 實現通用接口語法的泛型類型?
- 11. 是否有可能爲特定的而非泛型實現AbstractList?
- 12. 不能通用接口的具體實例添加到泛型集合
- 13. 通用接口繼承非泛型C#
- 14. 接口中的Java泛型
- 15. Java - 泛型和通配符&接口與實現
- 16. 實現不同泛型的接口?
- 17. 使用泛型實現接口
- 18. C#使用泛型和接口實現
- 19. 使用泛型實現多接口
- 20. 在繼承自非通用接口的泛型類型中實現通用方法的問題
- 21. 實現Scala的Java接口,使用泛型,並返回null
- 22. Groovy無法實現使用繼承和泛型的Java接口
- 23. 與非泛型實現泛型類型
- 24. MEF 2無法導入泛型接口的通用實現
- 25. Java泛型:接收實現類的類型實參的接口方法
- 26. 在泛型類中實現通用接口
- 27. 可能性增加泛型類型的實例在Java中8
- 28. Java的泛型和接口
- 29. 接口的泛型類型在Java中
- 30. 使用不同的泛型類型實現同一個泛型Java接口的多個實例?