Java 枚举中的 NoSuchMethodError

标签 java netbeans compilation enums nosuchmethoderror

我刚刚向枚举添加了一个方法。每当我调用该方法时,我都会收到 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/

相关文章:

c - 如何设置 NetBeans IDE pkg-config --cflags --libs gtk+-2.0?

java - 需要有关 Java 回文递归方法的帮助

java - 如何允许用户将图像上传到我的应用程序并使用它们?

java - 运行时调整 JScrollPane(包含 JTable)的大小

grails - 升级Netbeans中的Grails版本并添加Shiro安全性

c++ - 使用许多外部类型声明时如何加快编译时间

java - swing组件和awt事件的问题

java - Spring 从属性文件中获取枚举值

java - BlackJack Java String[] 不工作

linux - 从系统规范生成内核配置