我有一个函数,它接受一个映射,其中键可以是多种类型,值总是整数。我需要对忽略键的值执行操作,并在最后返回地图。
public Map<Sometype, Integer> doSomething(Map<Sometype, Integer> map, Integer total) {
Map<Sometype, Integer> result = new HashMap<Sometype, Integer>();
for (Sometype key : map.keySet()) {
result.put(key, map.get(key) * 2);
}
return result;
}
地图键可以是整数,布尔值和枚举。有没有办法应用泛型,以便我可以将此方法用于任何地图类型?
答案 0 :(得分:0)
是。您可以在Sometype
上将方法设为通用。
public <Sometype> Map<Sometype, Integer> doSomething(
Map<Sometype, Integer> map, Integer total) {
Map<Sometype, Integer> result = new HashMap<Sometype, Integer>();
for (Sometype key : map.keySet()) {
result.put(key, map.get(key) * 2);
}
return result;
}
这也可以写成
public <T> Map<T, Integer> doSomething(Map<T, Integer> map, Integer total) {
Map<T, Integer> result = new HashMap<T, Integer>();
for (T key : map.keySet()) {
result.put(key, map.get(key) * 2);
}
return result;
}