How can I initialise a static Map?

前端 未结 30 1760
慢半拍i
慢半拍i 2020-11-22 08:43

How would you initialise a static Map in Java?

Method one: static initialiser
Method two: instance initialiser (anonymous subclass) or some other m

30条回答
  •  鱼传尺愫
    2020-11-22 09:35

    The instance initialiser is just syntactic sugar in this case, right? I don't see why you need an extra anonymous class just to initialize. And it won't work if the class being created is final.

    You can create an immutable map using a static initialiser too:

    public class Test {
        private static final Map myMap;
        static {
            Map aMap = ....;
            aMap.put(1, "one");
            aMap.put(2, "two");
            myMap = Collections.unmodifiableMap(aMap);
        }
    }
    

提交回复
热议问题