[英]MyBatis Error on Collection of Map.Entry and Map.entrySet()
[英]Map.entry and entrySet() generic type goes wrong
這是失敗的代碼
Set<Map.Entry> entrySet = new HashMap<Object,Object>().entrySet();
它帶有一個編譯錯誤
cannot convert from Set<Map.Entry<Object,Object>> to Set<Map.Entry>
但是,應該只是從的情況下不使用泛型類型的警告Map.Entry
從Map.Entry<Object,Object>
但是,為什么會出現編譯錯誤?
那么我懷疑整個Set<Map.Entry>
可能是原因,可能是Set<Map.Entry>
≠ set<Map.Entry<Object,Object>
但是由於Map.Entry
Map.Entry<Object,Object>
為什么不Set<Map.Entry>
≈set set<Map.Entry<Object,Object>
我找到了相關問題,但我的問題是這種情況有所不同。
為了更加具體化,為什么當我使用Set<Map.Entry>
,事件無法通過編譯並得到錯誤,而不僅僅是警告?
但是在另一種情況下,例如ArrayList li = new ArrayList<String>();
我可以通過編譯得到警告“ ArrayList是原始類型。對泛型類型ArrayList的引用應參數化”
這是因為有set <>泛型類型。例如,
HashSet<String> s1 = new HashSet<Integer>
可能出錯。
如果右側是Integer通用類型實例,則左側引用變量的通用類型不能為String。
所以String ≠ Integer
就像Map.Entry ≠ Map.Entry<Object,Object>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.