我對Java中的泛型有點新。我遇到了以下情況,我不明白爲什麼代碼無法正常工作。將條目添加到地圖列表時出錯
List<? extends Map<String, String>> listEntries = new ArrayList<HashMap<String,String>>();
Map<String,String> entry = new HashMap<String,String>();
smsListEntry.put("1", "abc");
smsListEntry.put("2", "xyz");
listEntries.add(entry);
它給了我,說像一個編譯時錯誤:
在類型
List<capture#1-of ? extends Map<String,String>>
方法add(capture#1-of ? extends Map<String,String>)
是不適用的參數(Map<String,String>
)
我在引用的錯誤消息中格式化了代碼片段。 '<' and '>'被默認解釋爲標記,除非您將它們格式化爲代碼(通過將它們放在反引號(')之間或將文本縮進4格)。 – 2012-02-15 11:52:42
@PéterTörök - 我不知道。謝謝。 – 2012-02-15 12:08:29