stringVariable.equals
ITProの”次のJavaコードはどう改良できる? ”
って問題を今日解いてみた。。。。
いやはや、難しい。String系のnullチェックならいつも
public class StringUtil { public static boolean isEmpty(String s){ return s == null || s.equals(""); } }
っていう感じのUtilityを作りor再利用し、
public void stringVariableStateDisp() { if(StringUtil.isEmpty(stringVariable)){ System.out.println("stringVariable >>nullもしくは空文字"); } else { System.out.println("stringVariable >>"+stringVariable); } }
てな感じで使っているから、パッとこのようなものを出されるとつい考えてしまう。
そして、考えた末、"何もないなら、nullだろ。"と適当に2を選択。
見事に。。。。。不正解!!!!!!!!!!!
答えは、3でしたorz.....
でも、なーんか、府に落ちない。
そのまま、たまったRSSを見ていくと、ちょうど、オレンジニュースにまちゅダイアリー:"".equals(stringVariable) は改悪だろうってエントリーが載っていて、府に落ちない部分が丁寧に解説してあり、すっきりしたと同時に素晴らしき分析だな〜と尊敬してしまった。。。。
"".equals(str)も一つの記法かもしれないけど、私も"まちゅダイアリー"の同意見で、"".equals(str)は使わないようにした方がいいと思う。
そして、自分自身このようなコードを量産してしまうことが(たまーに......本当にたまーに.......)あるので、なんでもないような処理にも考えながらコード書こ。と肝に銘じた(銘じきれたはず...)