[Java] 条件分岐の判定順に注意



何気なく書いた条件分岐でつまずいてしまいました。

int型の配列 『index』 について、以下のような条件分岐があったとします。

・index.length==0またはindex[2]==3ならばループを抜ける

この場合、index.length == 0 とかだったりすると

for ( … ) {
  if ( index[2]==3 || index.length==0 ) break;
}

と書くとNullPointerExceptionが発生する。

けど、

for ( … ) {
  if ( index.length==0 || index[2]==3 ) break;
}

ならOKらしい。

if()の中の条件判定にも順番があるんですね。


posted by へっぽ at 00:23 | TrackBack(0) | java | このブログの読者になる | 更新情報をチェックする
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/110012337

この記事へのトラックバック