6

尝试在 NetBeans 中调试应用程序时收到以下错误消息:

java.io.WriteAbortedException:写入中止;java.io.NotSerializableException: board.Board$1

在调试过程中,我不得不在许多类中插入“实现可序列化”,因为在从存储大对象的文件读取的过程中出现异常。这并不困难,因为从异常消息中可以清楚地看出需要注意的类。让我感到震惊的是明显的匿名内部类“Board$1”。我一生都无法确定导致问题的“板”的来源。我怎样才能做到这一点?

因为这是调试实践的问题,而不是代码的细节(我认为)我没有包括它,但如果它有帮助我可以很容易地添加它。

4

2 回答 2

5

Board$1是 中遇到的第一个匿名类Board.java。例如:

class Board {
  public static void main(String[] args) {
    new Object() {}; // Board$1
    new Object() {}; // Board$2
  }
}

使用像 Eclipse 这样的 IDE,很容易在大纲视图中发现那些匿名类。我确信 NetBeans 也有类似的看法:

在此处输入图像描述

于 2012-10-17T10:24:31.023 回答
4

在 IntelliJ(和 Android Studio)中,您可以 Navigate->Class(Mac 上的⌘-O)并粘贴Board$1,它会带您进入该内部类的代码。

于 2015-12-08T00:22:12.273 回答