好的我有一个名为ScriptWorker
的主类和一个名为Scriptworker$State
的子类
但ScriptWorker
无法识别Scriptworker$State
实施例,
if (Login.getLoginState().equals(Login.STATE.WELCOMESCREEN)) {
return ScriptWorker.State.ON_WELCOME_SCREEN;
}
if (Login.getLoginState().equals(Login.STATE.INGAME)) {
RSInterfaceMaster[] ints = Interfaces.getAll();
for (RSInterfaceMaster i : ints) {
if ((i.getChild(0).getUID() == 24313856) || (i.getUID() == 35913742)) {
return ScriptWorker.State.TUTORIAL_ISLAND;
}
}
错误读取,
状态是问题所在
国家无法解决或不是一个领域。
修改
enum State {
ON_WELCOME_SCREEN("ON_WELCOME_SCREEN", 1),
TUTORIAL_ISLAND("TUTORIAL_ISLAND", 8),
private State(final String s, final int n) { }
}
答案 0 :(得分:0)
正如@ user902383在评论中所述,enum需要是静态的才能像这样访问:
Login.STATE
除非这个ifs与ScriptWorker在同一个包中,否则它也需要公开。
我希望它有所帮助,如果你能提供ScriptWorker类(至少是重要的部分),我可以更精确。