gpt4 book ai didi

下课后出现 "$1"的 java.io.NotSerializableException

转载 作者:行者123 更新时间:2023-11-29 03:05:38 26 4
gpt4 key购买 nike

我有序列化问题,无法找到原因。这是 Eclipse 中的一个 Android 应用程序,它给我一个非常无用的堆栈跟踪,如下所示:

09-01 00:06:24.414: W/System.err(9961): java.io.NotSerializableException: com.myprogram.main.Entity$1
09-01 00:06:24.414: W/System.err(9961): at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1344)
09-01 00:06:24.414: W/System.err(9961): at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1651)
09-01 00:06:24.414: W/System.err(9961): at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1497)
09-01 00:06:24.414: W/System.err(9961): at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1461)
09-01 00:06:24.415: W/System.err(9961): at java.io.ObjectOutputStream.writeFieldValues(ObjectOutputStream.java:959)
09-01 00:06:24.415: W/System.err(9961): at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:360)
09-01 00:06:24.415: W/System.err(9961): at java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1054)
09-01 00:06:24.415: W/System.err(9961): at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1384)
09-01 00:06:24.415: W/System.err(9961): at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1651)
09-01 00:06:24.415: W/System.err(9961): at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1497)
09-01 00:06:24.415: W/System.err(9961): at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1461)

找到Java flag to enable extended Serialization debugging info我决定设置

-Dsun.io.serialization.extendedDebugInfo=true

正在关注 How can I specify the default JVM arguments for programs I run from eclipse?我将标志插入到我的 JRE 的 VM 参数中,但堆栈跟踪没有改变。重新启动 Eclipse 没有帮助。所以关注Editing the vm args of eclipse我将标志添加到我的 eclipse.ini,但堆栈跟踪仍然没有改变。我期待一个看起来像 java.io.NotSerializableException – but where is the field? 的输出.

我知道 com.myprogram.main.Entity$1 不可序列化。这很容易。问题是为什么?关于如何找出这个 java.io.NotSerializableException 有什么建议吗?

最佳答案

您有一个匿名内部类com.myprogram.main.Entity$1,它不是Serializable。异常中明确说明了这一点。 $ 表示它是产生异常的内部或静态嵌套类。 $ 后面的数字表示该类是匿名的,否则内部类的名称将出现在这里。 1 进一步表明这是 com.myprogram.main.Entity 中的第一个匿名内部类。

参见 How can I identify an anonymous inner class in a NotSerializableException了解更多。

关于下课后出现 "$1"的 java.io.NotSerializableException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32325873/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com