I'm fairly new to programming in the area of professional software development, and my collegues had a discussion about using fields like the following in a Spring @Service annotated class:

```
private static final Map<Key, Value> someMap;
static {
    Map<Key, Value> map = new HashMap<>();
    map.put(aKey, aValue);
    someMap = Collections.unmodifiableMap(map);
}

```

Can I leave out any keywords without compromising some safety/features under the following premises:

* The map is to never be modified in any way except directly by a programmer with access to the source code
* The map is not made available to any classes outside
* The class containing the map is annotated as a Service with default scope for SpringBoot
* **EDIT** Assume both Key and Value are Enum values without any other information or functionality in them.
* **EDIT** The Map is intended as a better-maintainable alternative to a method containing a switch case statement
* **EDIT** The map is in no way made accesible to any other class

What are the advantages or disadvantages of this approach over using something like this:

```
private final Map<Key, Value> someMap;

public MyClass() {
    Map<Key, Value> map = new HashMap<>();
    map.put(aKey, aValue);
    someMap = Collections.unmodifiableMap(map);
}

```