我在尝试调试 NetBeans 中的应用程序时收到以下错误消息:
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: board.Board$1
在调试过程中,我不得不在许多类中插入“implements Serializable”,因为在读取存储大对象的文件的过程中出现了异常。这并不困难,因为需要注意的类已经从异常消息中清楚了。让我震惊的是明显的匿名内部类“Board$1”。我一辈子都无法确定导致问题的“Board”来源。我该怎么做?
因为这是调试实践的问题而不是代码的细节(我认为),所以我没有包含它,但如果有帮助,我可以很容易地添加它。
最佳答案
Board$1
是 Board.java
中遇到的第一个匿名类。例如:
class Board {
public static void main(String[] args) {
new Object() {}; // Board$1
new Object() {}; // Board$2
}
}
使用像 Eclipse 这样的 IDE,很容易在大纲 View 中发现那些匿名类。我相信 NetBeans 也有类似的观点:
关于java - 如何在 NotSerializableException 中识别匿名内部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12932079/