schwobeseggl.de ein Neigschmecktr in Baden

23Jul/09Off

Statische Maps

Wieder was gelernt. Arrays kann man ja wie folgt initialisieren:

String[] allowed = new String[] {"text/html", "text/json"};

Aber was ist mit Maps?

public class Router {
  public static final Map<String, Handler> routes;

  static {
    Map<String, Handler> map = new HashMap<String, Handler>();
    map.put("/account", new AccountHandler());
    map.put("/feed", new FeedHandler());
    map.put("/opml", new OpmlHandler());
    routes = Collections.unmodifiableMap(map);
  }
}

Find ich gut. Endlich weiß ich sowas auch. Noch schneller gehts mit:

public static final Map<String , Handler> routes =
           new HashMap<String , Handler>() {{
    put("/account", new AccountHandler());
    put("/feed", new FeedHandler());
    put("/opml", new OpmlHandler());
}};
  1. Java Applets und java.util.logging
  2. JUnit und Eclipse
  3. bitlbee, jabber group conference
  4. Ungelesene RSS-Feeds
  5. __FUNCTION__ in Java

veröffentlicht unter: Arbeit, Java Kommentare
Kommentare (1) Trackbacks (0)
  1. Wobei die double brace initialization ein zweischneidiges Schwert ist. Genau genommen wird dabei nämlich eine statische anonyme Klasse erzeugt, was bei vielen Zuweisungen die JVM ins Schwitzen (naja eigentlich nicht, aber du weißt schon…) bringt.

    Siehe dazu auch http://stackoverflow.com/questions/924285/efficiency-of-java-double-brace-initialization


Trackbacks are disabled.