HHeLiBeXの日記 正道編

日々の記憶の記録とメモ‥

nullチェックをしたいんだかしたくないんだか‥

何をどうしたいのか意図が分からない、また、書いた本人はすでにいない、なんてことは日常茶飯事なのですが‥orz
なんとも中途半端なこんなコード。

String urlStr = ‥
‥
‥
int index = 0;
if (urlStr != null) {
    index = urlStr.indexOf("?");
}
if (index >= 0) {
    urlStr = baseURL
        + "/action.do"
        + "?cmd=test&userId="
        + userId
        + "&"
        + urlStr.substring(index + 1)
        + "return=list.do?id="
        + listId;
}

最初のif文では変数urlStrのnullチェックをしている。変数indexの初期値は0(zero)で、変数urlStrがnullの場合には、変数indexの値は0(zero)のまま次のif文に進む。すると、if文の条件を満たすので、urlStrのsubstringメソッドを‥あれ?indexの値が0(zero)の場合はurlStrがnullである可能性が‥やれやれ。
まぁ、urlStrがnullにならないというのなら、最初のif文でのnullチェックが無駄だというだけで済むのだけど、urlStrに対する唯一の代入処理が

String urlStr = (String) session.getAttribute("url");

みたいなものだったりするのです‥