我有具有不同键类型和相同值类型的映射,我想要一种通用方法来处理所有不同的键映射,例如
Map<Integer,String> intKeyMap;
Map<String,String> strKeyMap;
public void processMap(Map m) {
//iterate the map and do something
}
我对泛型的知识有限,如何使“ processMap”方法接受不同的键映射并进行处理?
-----------阅读回复后,请按以下详细说明进行编辑---------
?通配符是实际上解决了我最初的问题的答案:)。将关闭此。谢谢您的帮助。
答案 0 :(得分:3)
回答您的问题:
public void processMap(Map<?, ?> m)
{
}
允许您这样做:
在通用代码中,问号(?)(称为通配符) 代表未知类型
https://docs.oracle.com/javase/tutorial/java/generics/wildcards.html
答案 1 :(得分:2)
您甚至可以尝试:
public <T> void processMap(Map<T, String> m)
{
Iterator<T> it;
it = m.keySet().iterator();
...
}