【发布时间】:2013-12-12 20:43:44
【问题描述】:
引用位置时出现空指针异常。在调试视图中,我发现了 2 个具有相同名称的不同变量。一个似乎为空并且有一个绿色圆圈,一个是正确的变量并且旁边有一个蓝色三角形。
为什么我的代码引用了 null 变量,为什么内存中有该变量的 2 个副本?
位置在此处的构造函数中设置
public Obstacle(int x, int y) {
position = new PVector(x,y);
}
从这里的关卡生成器类调用构造函数
obstacle1 = new Obstacle(levelWidth/4, 375);
obstacle2 = new Obstacle(levelWidth/2, 375);
obstacle3 = new Obstacle(levelWidth*3/4, 375);
不确定要显示什么其他代码。
【问题讨论】:
-
可能是本地/全局范围?
-
如果没有看到更多代码,我们无法回答这个问题。
-
方法
collidesWith中的参数c是null,这就是它抛出npe的原因,发布CodeManager::detectCollisions -
“不确定要显示什么其他代码”:一般来说,SSCCE 是您最好的选择。
-
发布您的整个
Obstacle课程。我同意这可能是一个范围问题。您的蓝色三角形表示默认字段,绿色圆圈表示公共字段。
标签: java eclipse debugging processing