我刚刚向枚举添加了一个方法。每当我调用该方法时,我都会收到 NoSuchMethodError:
public enum PHASE {
PHASE1,
PHASE2(false),
PHASE3;
private boolean present = true;
PHASE() {
}
PHASE(boolean present) {
this.present = present;
}
public boolean isPresent() {
return this.present;
}
}
public void foo(PHASE phase) {
if (phase.isPresent()) {
...
这里,phase.isPresent 在 clean/build 后抛出 NoSuchMethodError。我错过了什么?
--
更新:Netbeans 有两个缓存文件夹。一间是空的,另一间则没有。这是我的错,显然我没有在缓存问题上投入足够的精力。不幸的是,我不能否决我自己的问题......
最佳答案
这可能是编译时类路径和运行时类路径之间的问题。 运行时的类/jar 文件与编译时使用的不同。
确保清理并重建您的项目。
关于Java 枚举中的 NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15808598/