当前位置: 首页 > 面试题库 >

警告:[serial]可序列化的类SomeClass没有serialVersionUID的定义

孔瑾瑜
2023-03-14
问题内容

尽管此类并非旨在被设置为可序列化的类,但我仍收到此异常警告!有人可以让我知道你是否遇到过这样奇怪的警告?

C:\Documents and Settings\...filename.java:60: warning: [serial] serializable class SomeClass has no definition of serialVersionUID
public class NewPortalConnection extends javax.swing.JFrame {

问候


问题答案:

当您从实现Serializable的类派生时,将出现此警告。在您的情况下,Serializable父类是JFrame。

您可以使用@SuppressWarnings(“ serial”)禁止显示此警告,也可以为该类指定一个serialVersionUID:(private static final long serialVersionUID = ...;点的长值)。



 类似资料:
  • 问题内容: 有没有办法确定序列化Java对象的生成? 问题是我序列化了一个对象而没有明确指定。现在,反序列化过程抱怨类不兼容。但是,我并没有以使其不兼容的方式更改类。因此,我假设在类中指定足够了,因为它存储在对象数据中。为此,我需要从序列化数据中读取。 问题答案: 您可以通过扩展ObjectInputStream来做到这一点: 我相信可以通过替换方法返回的描述符来读取所有序列化的数据,但是我还没有

  • 问题内容: 我在android / java中对Location的子类进行序列化遇到了麻烦 位置不可序列化。我有一个名为FALocation的第一个子类,它没有任何实例变量。我已经宣布它可序列化。 然后,我有一个名为Waypoint的第二个类,看起来像这样: 序列化工作正常。 反序列化会产生跟随翼异常(腿对象包含一个航路点): 问题答案: 序列化位置绝对必要吗?也许您可以将其标记为瞬态,并在反序列

  • 问题内容: 如下代码: 引发以下异常: 我猜内部类具有一个允许对其私有访问的字段和方法的字段。声明内部类static 可以解决它,但是如果需要此访问权限怎么办?有没有一种方法可以在不包含封闭类的情况下序列化非静态内部类,例如通过引用外部类? 编辑:例如,仅在序列化之前才需要访问外部类。好的,编译器不知道这一点,但是我认为这就是关键字存在的原因。 问题答案: 如果InnerClass需要此访问权限怎

  • 问题内容: 我的代码结构如下。 和 基本上我正在扫描网站以获取统计信息,例如标题标签,重复标题等。 我正在使用JQuery并向Web服务进行AJAX调用并检索url统计信息,而该过程正在运行以显示到目前为止收集的用户url统计信息,因为扫描大型网站需要花费大量时间。因此,每隔5秒,我就会从服务器检索统计信息。现在的问题是我需要在扫描处理完成时(而不是更新期间)最后发送所有List变量数据。现在发生

  • 问题内容: 我有: 在MyClass2中是无法序列化的属性。如何序列化(和反序列化)此对象? 更正:MyClass2当然不是接口,而是类。 问题答案: 正如其他人指出的那样,Josh Bloch的Effective Java的 第11章是有关Java序列化的必不可少的资源。 该章中与您的问题有关的几点: 假设您要序列化MyClass2中不可序列化字段的状态,则MyClass必须可以直接访问该字段,

  • 问题内容: 几个月前,我将java.io.Serializable对象序列化为文件。现在,我需要阅读内容,但是从那以后,serialVersionUID发生了变化,现在我遇到了“类不兼容”错误。我知道一个事实,即没有任何数据成员已更改,因此唯一的障碍是serialVersionUID检查。 有没有办法禁用检查或修改二进制文件中的serialVersionUID? 澄清说明 这个问题是假设我无法编辑