KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Given an enum where each instance is associated with some value: public enum SQLState { SUCCESSFUL_COMPLETION("00000"), WARNING("01000"); private final String code; SQLState(String code) { this.code = code; } } How can I construct a Map for efficient reverse look-ups? I tried the following: public enum SQLState { SUCCESSFUL_COMPLETION("00000"), WARNING("01000"); private final String code; private static final Map<String, SQLState> codeToValue = Maps.newHashMap(); SQLState(String code) { this.code = code; codeToValue.put(code, this); // problematic line } } but Java complains: Illegal reference to static field from initializer . That is, the static Map is being initialized after all enum values so you cannot reference it from the constructor. Any ideas?
Tags (comma-separated)
Save Edits
Cancel