Initialising a Static Map in Java
Initialising a static map in Java involves two main approaches: static initialisers and instance initialisers.
Static Initialisers:
Static initialisers allow you to initialise the map directly within the class definition. This is achieved using a static block, as shown in the following example:
public class Test { private static final Map<Integer, String> myMap = new HashMap<>(); static { myMap.put(1, "one"); myMap.put(2, "two"); } }
Pros:
Cons:
Instance Initialisers (Anonymous Subclass):
Instance initialisers provide an alternative syntax for initialising static members. This approach uses an anonymous subclass that overrides the default constructor:
public class Test { private static final Map<Integer, String> myMap2 = new HashMap<>() { { put(1, "one"); put(2, "two"); } }; }
Pros:
Cons:
Additional Notes:
The above is the detailed content of How to Initialize a Static Map in Java: Static Initializers vs. Instance Initializers?. For more information, please follow other related articles on the PHP Chinese website!