相对较新的Java。 我正在尝试将战舰编程为Java。 我正在获取java.lang.nullPointerException。我知道这意味着我初始化了一个对象(在本例中为ArrayList),但没有给它赋值。这就是我的代码,我在做什么错了?
for(Ship toDestroy : shipList) {
ArrayList<String> newLocation;
if(name.equals("Destroyer") || name.equals("Victoire")){
newLocation = helper.placeShip(3);
toDestroy.setLocationCells(newLocation);
}else if(name.equals("Dingy")) {
newLocation = helper.placeShip(2);
toDestroy.setLocationCells(newLocation);
}else if(name.equals("S.S. Anne")) {
newLocation = helper.placeShip(4);
toDestroy.setLocationCells(newLocation);
}else if(name.equals("Titanic")) {
newLocation = helper.placeShip(5);
toDestroy.setLocationCells(newLocation);
}else {
newLocation = helper.placeShip(0);
}
}
我添加了最后一个else语句,因为我发现在这种情况下,“ newLocation”将始终具有一个值,但仍无法正常工作。 else {newLocation = null}也不起作用。