これはひどい問題


http://d.hatena.ne.jp/hayassh/20081126/1227715969

わはは。改良じゃなくて別の意味になってるじゃねーか。

もともとの問題として「equals」で比較してる時点でnullがないのが保障されている(もしくはnullポインタ例外を発生させることが仕様にあるか)はずなのにこの選択肢は正直ありえない。


おいらもhayasshさんと同じようにnullが持ち込まれるかの判定が必要な場合はif文で明示します。その条件で例外をどう発生させるのかがそのメソッドの追加機能とかで盛り込まれていく可能性もあるからです(入力がおかしい場合はこの例外をスローするとか。)。assert入れてる現場は正直少ないと思います。




ただ、空文字かどうかの判定にはequalsではなく

if(hoge == null || hoge.isEmpty())

とisEmptyメソッドを使いますけどね。

http://java.sun.com/javase/ja/6/docs/ja/api/java/lang/String.html#isEmpty()