0

这两种方法的实现完全相同,除了参数部分。我想知道我是否可以有一个通用版本的 Java 方法来将这两种方法统一为一个。有可能还是最好的方法是什么?我正在考虑使用通用 T 或 Object 类型作为这两种情况的映射键。

void mapPopulator1 (Map<String, Integer> map, String key)
{
    Integer value = map.get(key);
    if (value != null) {
        value = Integer.valueOf(value.intValue() + 1);
    }
    else {
        value = Integer.valueOf(1);
    }
    map.put(key, value);
}

void mapPopulator2 (Map<EventObj, Integer> map, EventObj key)
{
    Integer value = map.get(key);
    if (value != null) {
        value = Integer.valueOf(value.intValue() + 1);
    }
    else {
        value = Integer.valueOf(1);
    }
    map.put(key, value);
}
4

1 回答 1

5

是的,你可以有一个通用的方法。

<T> void mapPopulatorGeneric(Map<T, Integer> map, T key)

这用 声明了泛型类型T<T>然后将其用于您的参数类型。

于 2013-04-16T23:12:30.530 回答