Map を使って長い if-else を回避する

プロジェクトのメンバーから教わった方法を忘れないうちにメモ。
こういう発想はなかった。なるほど。

例えば、

if(AAA.equals(hoge)) {
	foo = "aaa";
} else if(BBB.equals(hoge)) {
	foo = "bbb";
} else if(CCC.equals(hoge)) {
	foo = "ccc";
}

となっていた場合、次のような Map を用意すると

Map map = new HashMap();
map.put(AAA, "aaa");
map.put(BBB, "bbb");
map.put(CCC, "ccc");

このようにスマートに書ける、というもの。

foo = map.get(hoge);