[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()の中の条件判定にも順番があるんですね。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/110012337
この記事へのトラックバック
http://blog.seesaa.jp/tb/110012337
この記事へのトラックバック



