0

これら 2 つのメソッドの実装は、引数の部分を除いてまったく同じです。これら 2 つのメソッドを 1 つに統合する汎用バージョンの Java メソッドを使用できるかどうか疑問に思っています。それは可能ですか、それを行うための最良の方法は何ですか? どちらの場合も、マップ キーとしてジェネリック T またはオブジェクト型を使用することを検討しています。

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 に答える