Libgdx:单身人士无法解释的 NullPointerException

Libgdx: Unexplainable NullPointerException on Singleton

可能只负责 libGDX 技能。

MyGame.java:

public void create() { // gets called after constructor
        Resources.setInstance(new Resources());
}

Resources.java

public static void setInstance(Resources res) {
        if (instance != null) {
            instance = res;
        }
        else throw new IllegalStateException(
                "instance cant be null");
}

堆栈跟踪:

Exception in thread "LWJGL Application" java.lang.IllegalStateException: instance cant be null
    at com.mutant.td.Resources.setInstance(Resources.java:22)
    at com.mutant.td.SpeciesWarGame.create(SpeciesWarGame.java:41)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:143)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication.run(LwjglApplication.java:120)

我完全不知道发生了什么。

这是错误的:

 if (instance != null)

你检查错了。您应该检查:

 if (res != null)

因为这是您传递给方法的内容。