How to initialize a static Map in Java?
Method one: static initialiser
Method two: instance initialiser (anonymous subclass) or some other method?
Please tell me the benefits and disadvantages of each.
Here is an example illustrating two methods:
import java.util.HashMap;
import java.util.Map;
public class Test {
private static final Map<Integer, String> myMap = new HashMap<Integer, String>();
static {
myMap.put(1, "one");
myMap.put(2, "two");
}
private static final Map<Integer, String> myMap2 = new HashMap<Integer, String>(){
{
put(1, "one");
put(2, "two");
}
};
}