Java7 体当たり/strings switch
Switch に String が使えるようになるみたいです。
String in switch Statements
switch に使えるのは int か Enum だったのですけれど、この度 String も出来るようになりました。単なる1クラスのはずなのに優遇されまくってる String さんです。
String result; switch ("あ") { case "あ": result = "a"; break; case "い": result = "i"; break; default: result = "u"; } System.out.println(result); // => a
String を if で判定するときは、幾つか続けてやる事が多いと思います。そういう時は switch の方が多少効率的っぽいです。if の方が良い場合は、判定する String の値が null の可能性がある時です。
String param = null; if ("あ".equals(param)) { // OK // 略 } switch (param) { // NullPointerException case "あ" : // 略 break; }
最近は null 否定派になってきてたりします。