2004年12月 3日
ぬるぽ
String str = hoge.getHogeHogeString();
if ( str.equals("hage") ) { /* */ }
とかやると、ぬるぽが出てしまう恐れがある。
通常は
String str = hoge.getHogeHogeString();
if ( str!=null && str.equals("hage") ) { /* */ }
とするだろう。最初の条件で && 以降をやらなくていいと判断したら、次の式は評価しないというK&R時代からの思想を受け継ぐ書き方である。
しかし、変数strが勿体無い。
if ( hoge.getHogeHogeString()!=null && hoge.getHogeHogeString().equals("hage") ) { /* */ }
は書き方として冗長すぎる。
ということで、ボク的にオススメなのは
if ( "hoge".equals(hoge.getHogeHogeString()) ) { /* */ }
である。文字列リテラルも String 型なので、それのメソッドを呼べてしまうのである。
しかし、本当のオススメはJavaを採用しないことだ。
Posted by rukihena at 23:46:09
コメント