gpt4 book ai didi

java - 当我在我的类中使用 Serialized 并在 Scanner 中使用 transient 时,如何解决 NullPointerException?

转载 作者:行者123 更新时间:2023-11-30 04:54:02 25 4
gpt4 key购买 nike

我想知道我需要做什么来解决这个错误。由于在我想要序列化的类中使扫描仪成为 transient ,因此我现在得到一个空指针异常,其中使用了扫描仪(in)的第一个实例。

即 in.next();

这是我第一次在工作中使用 Serialized。我已将所有顶级类设为可序列化。

我还想知道是否需要对我的数据结构(例如数组、数组列表等)进行任何处理。哪些内容需要标记为 transient ?

非常感谢任何帮助

最佳答案

序列化对象时,不会保留 transient 字段中的值。一种解决方案是实现一个 writeObject 方法,该方法在反序列化对象后重新初始化 transient 字段,如下所述:http://java.sun.com/developer/technicalArticles/Programming/serialization/

但是,在可序列化类中包含 Scanner 对象听起来有点奇怪。您可能应该将其分为两个类 - 一个可序列化的类,其中包含要序列化的数据,另一个类则执行用户界面或文件读取或您使用扫描仪执行的任何操作。

关于java - 当我在我的类中使用 Serialized 并在 Scanner 中使用 transient 时,如何解决 NullPointerException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9140728/

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