Map<Integer, String> map = new HashMap<Integer, String>();
以下のようなユーティリティにより少しだけ楽になる。
public class GenericFactory { private GenericFactory(){} public static <K, V> HashMap<K, V> newHashMap() { return new HashMap<K, V>(); } public static <E> ArrayList<E> newArrayList() { return new ArrayList<E>(); } }
これにより以下のように、少しだけ美しくなれる。
Map<String, Integer> map = GenericFactory.newHashMap(); List<String> list = GenericFactory.newArrayList();
さらに、こんなんを良く使う場合は、
Map<String, List<String>> map = new HashMap<String, List<String>>();
こんなふうに用意すれば、
public static <K, V> HashMap<K, List<V>> newListHashMap() { return new HashMap<K, List<V>>(); }
読み易くはなる。
Map<String, List<String>> lmap = GenericFactory.newListHashMap();