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);