"string".equals(String)がキライ
http://d.hatena.ne.jp/nattow/20070806/1186409436
(http://d.hatena.ne.jp/Isoparametric/20070806/1186404586 経由)
「NullPointerExceptionでnullを検知しようとする考えがそもそも間違い」であると思います。null が来てはいけないならしかるべき場所で検査済みであるべきです。つまり、ここで null チェックが必要となるのでは、おそらく設計がまずいのです。
StringもObjectの一種で、例外を認めないってことかなとも思いますが、Stringがnullという状態を機能として受け入れるのに凄く抵抗があります。非対称であることもその理由のひとつかもしれません。JavaのStringは使いやすいだけに、残念です。
こんなメソッドがあれば良かったのに、といつも思います。
public static boolean equals(String s1, String s2) { if (s1 == null || s2 == null) { return false; } return s1.equals(s2); }
あまり関係ないですが、String.isEmpty()もJava1.6になってお出まし。