嘿,我正在尝试使用一个枚举类,但是如果我尝试调用getLocation方法,则该类会一直给我提供nullpointers。有人知道吗?
枚举类:
public enum ZulrahLocation {
CENTER(ZulrahScript.TILE_CENTER),
WEST(ZulrahScript.TILE_WEST),
SOUTH(ZulrahScript.TILE_SOUTH),
EAST(ZulrahScript.TILE_EAST);
private InstanceTile location;
ZulrahLocation(final InstanceTile location)
{
this.location = location;
}
public Position getLocation()
{
return location.toTile();
}
}
遍历枚举类的类:日志z1.getlocation()处的空指针
for (ZulrahLocation zl : ZulrahLocation.values())
{
sI.log(String.valueOf(zl.getLocation()) + " Location of z1");
}
如果有人想知道我正在设置主类中的所有图块,则在这里发生
public void onStart () {
TILE_CENTER = new InstanceTile(164, 99, 0,this);
TILE_WEST = new InstanceTile(154, 97, 0,this);
TILE_SOUTH = new InstanceTile(164, 88, 0,this);
TILE_EAST = new InstanceTile(174, 97, 0,this);
}
如果您需要其他信息,请告诉我。
答案 0 :(得分:1)
程序首次启动时,将使用您的ZulrahLocation
磁贴的当前值来初始化ZulrahScript
枚举值。因为您是在需要调用的方法(onStart
)中定义它们的,所以实际上使用的初始值是null
。
在您的ZulrahScript
类中,您可能需要在同一行上声明和定义变量。
public class ZulrahScript {
...
public static InstanceTile TILE_CENTER = new InstanceTile(164, 99, 0,this);
...
}