Initialize static map in Java interface


Initialize static map in Java interface

Initialize static map in Java interface

Updated at June 29, 2019

Sometimes, we need define a map constant in interface, but as interface can’t define initializer or static initializer block, how are we going to put values into the map and initialize it?

One way is to define an anonymous class that inherits from Hashmap, and initialize the map in the initialize block in the new anonymous class.

interface IAmInterface
{
    public static final Map MAP = new HashMap()
    {
        private static final long serialVersionUID = 1L;
        {
            put(1, "one");
            put(2, "two");
        }
    };
}

Labels

adsense (5) Algorithm (69) Algorithm Series (35) Android (7) ANT (6) bat (8) Big Data (7) Blogger (14) Bugs (6) Cache (5) Chrome (19) Code Example (29) Code Quality (7) Coding Skills (5) Database (7) Debug (16) Design (5) Dev Tips (63) Eclipse (32) Git (5) Google (33) Guava (7) How to (9) Http Client (8) IDE (7) Interview (88) J2EE (13) J2SE (49) Java (186) JavaScript (27) JSON (7) Learning code (9) Lesson Learned (6) Linux (26) Lucene-Solr (112) Mac (10) Maven (8) Network (9) Nutch2 (18) Performance (9) PowerShell (11) Problem Solving (11) Programmer Skills (6) regex (5) Scala (6) Security (9) Soft Skills (38) Spring (22) System Design (11) Testing (7) Text Mining (14) Tips (17) Tools (24) Troubleshooting (29) UIMA (9) Web Development (19) Windows (21) xml (5)