Java 奇怪的例外
嘿,伙计们,我们正在尝试为我们的学期项目制作一个客户端-服务器竞赛游戏,但我们有一些奇怪的错误Java 奇怪的例外,java,nullpointerexception,Java,Nullpointerexception,嘿,伙计们,我们正在尝试为我们的学期项目制作一个客户端-服务器竞赛游戏,但我们有一些奇怪的错误 public void updatePosition(int id, ArrayList<Point2D.Float> positions){ if(id==1){ for (int i = 1; i < game.getS().getVehicles().size(); i++) { game.getS().getVe
public void updatePosition(int id, ArrayList<Point2D.Float> positions){
if(id==1){
for (int i = 1; i < game.getS().getVehicles().size(); i++)
{
game.getS().getVehicles().get(i).updatePosition(positions.get(i));
}
}else if(id==2){
game.getS().getVehicles().get(1).updatePosition(positions.get(0));
for (int i = 2; i < game.getS().getVehicles().size(); i++)
{
game.getS().getVehicles().get(i).updatePosition(positions.get(i));
}
public void更新位置(int-id,ArrayList位置){
如果(id==1){
for(int i=1;i
这是我们的代码
例外情况就在这一行:
game.get().getVehicles().get(1).更新位置(positions.get(0));引用默认初始化为null。如果创建集合或数组但未能初始化引用,则默认为null。引用默认初始化为null。如果创建集合或数组但未能初始化引用,则默认为null。a
NullPointerException代码>可以出现在这个小代码片段的许多地方
基本上,当您有一个a.b().c()
类型的表达式时,如果a
为null
,或者b()
返回null
,则可以抛出NullPointerException
如果不确定此类表达式的所有部分都不是null,则必须执行显式检查:
if (a != null) {
WhateverObject intermediate = a.b();
if (intermediate != null) {
intermediate.c();
}
}
NullPointerException
可以在这段代码的许多地方发生
基本上,当您有一个a.b().c()
类型的表达式时,如果a
为null
,或者b()
返回null
,则可以抛出NullPointerException
如果不确定此类表达式的所有部分都不是null,则必须执行显式检查:
if (a != null) {
WhateverObject intermediate = a.b();
if (intermediate != null) {
intermediate.c();
}
}
异常具体在哪里?请阅读,异常具体在哪里?请阅读,我们可以更改什么,或者我们应该在哪里搜索?使引用不为空。您假设集合中有良好的数据,但JVM告诉您没有。检查您的假设。那么我们可以更改什么,或者应该在哪里搜索ch?使引用不为null。您假设集合中有良好的数据,但JVM告诉您没有。检查您的假设。