enum mit Hashmap als Eigenschaft

Katzehuhn

Erfahrenes Mitglied
Hi ich möchte eine enum erstellen das als Eigenschaft eine Hashmap besitzt. Ist das überhaupt möglich?
Wenn ich dem enum NAME(new HashMap<obj,obj>.put(obj,obj)),NAME2....
dies so übergäbe funktioniert das zwar, aber ich kann die HashMap nur mit einem Wert befüllen. Jemand eine Idee wie man sowas macht?
lg!
 
Hallo,

schau mal hier:
Java:
/**
 * 
 */
package de.tutorials;

import java.util.HashMap;
import java.util.Map;

/**
 * @author Thomas.Darimont
 * 
 */
public class EnumWithHashMapExample {

    /**
     * @param args
     */
    public static void main(String[] args) {
        System.out.println(EnumWithHashMap.A);
        System.out.println(EnumWithHashMap.B);
    }

    enum EnumWithHashMap {
        A(new HashMap<String, Object>() {
            {
                put("FOO", "foo");
                put("BAR", "bar");
            }
        }), B(new HashMap<String, Object>() {
            {
                put("GOO", "Goo");
                put("BOO", "Boo");
            }
        });

        private EnumWithHashMap(Map<String, Object> map) {
            this.map = map;
        }

        Map<String, Object> map;

        public Map<String, Object> getMap() {
            return map;
        }

        @Override
        public String toString() {
            return super.toString() + " " + this.map;
        }

    }

}

Gruß Tom
 
Zurück