代码
if (hero.shot.isLive && hero.shot!=null) {
for (int i = 0; i < enemies.size(); i++) {
shotTank(hero.shot, enemies.get(i));
}
}
这里报错,空指针异常
这里使用&&,当hero.shot.isLive为true时才判断第二个条件;当hero.shot == null时,先执行hero.shot.isLive,直接会空指针异常
解决
交换两个判断条件的位置
先判断变量是否不为空,再判断变量下的变量