除了参数部分外,这两种方法的实现完全相同。 我想知道我是否可以有一个通用版本的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);
}

===============>>#1 票数:4 已采纳

是的,您可以使用通用方法。

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

这将使用<T>声明泛型T ,然后将其用于参数类型。

  ask by user2288494 translate from so

未解决问题?本站智能推荐:

关注微信公众号