Eclipse警告:The serializable class XXX does not declare a static final serialVersionUID field of type long

serialVersionUID作用: 
序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。

在Eclipse中可以自动生成,有两种生成方式: 
一个是默认的1L,比如:private static final long serialVersionUID = 1L; 
一个是根据类名、接口名、成员方法及属性等来生成一个64位的哈希字段,比如:private static final long serialVersionUID = -8940196742313994740L。

当你一个类实现了Serializable接口,如果没有定义serialVersionUID,Eclipse会提供这个提示功能告诉你去定义它。 
如果不想定义它,在Eclipse的设置中将其关掉,设置如下: 
Window ==> Preferences ==> Java ==> Compiler ==> Error/Warnings ==> Potential programming problems 
将Serializable class without serialVersionUID的warning改成ignore即可。

时间: 2024-11-06 17:39:02

Eclipse警告:The serializable class XXX does not declare a static final serialVersionUID field of type long的相关文章

Eclipse下关于The serializable class UsersServlet does not declare a static final serialVersionUID field of type的警告

The serializable class XXX does not declare a static final serialVersionUID field of type long serialVersionUID作用: 序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性. 你可以随便写一个,在Eclipse中它替你生成一个,有两种生成方式:一个是默认的1L,比如:private static final long serialVersionUID = 1L;一个是根

The serializable class does not declare a static final serialVersionUID field of type long

在编译以下Java程序时,出现The serializable class  does not declare a static final serialVersionUID field of type long警告 1 package learn; 2 3 import javax.swing.*; 4 import java.awt.*; 5 import java.awt.event.*; 6 7 public class SimpleGui3C implements ActionList

eclipse config 4 关闭eclipse警告

毫不夸张的说每个程序员都是一个完美主义者 添加一个c/c++代码,满脸的都是条纹各种标注 无法容忍 像下图所示 好,我们来个暴力的,关闭它 点击Window->Preferences 打开如下选项 关闭所有的代码分析 是不是舒服多了 eclipse config 4 关闭eclipse警告

Eclipse 中小蚂蚁在run的时候,出现:Specified VM install not found: type Standard VM, 1.8

从百度上转的: 网上抄袭来抄袭去,都说是将"workspace /.metadata/.plugins/org.eclipse.debug.core/.launches/"下的文件都删除掉.的确,删除了解决问题了,但为什么这样就能解决问题却没有人说. 真正的问题解决方法在这里:在项目中,右键点击ant文件,选择Run As -- External Tools Configuration,在这个页面的顶端就会看到有红叉叉的报错,报错信息就是Specified VM install not

定义serialVersionUID的作用与意义整理

实现java.io.Serializable这个接口是为序列化,serialVersionUID 用来表明实现序列化类的不同版本间的兼容性.如果你修改了此类, 要修改此值.否则以前用老版本的类序列化的类恢复时会出错. 实现后如果你用的是工具的话会出来警告,他会提示你,可以自动生成private static final long serialVersionUID = 1L; 为了在反序列化时,确保类版本的兼容性,最好在每个要序列化的类中加入private static final long se

private static final long serialVersionUID = 1L;详解

public class User implements Serializable { /** * serialVersionUID */ private static final long serialVersionUID = 1L; /** * 主键ID */ private Integer userId; /** * 用户名 */ private String userName; /** * 密码 */ private String passWord; /** * 姓名 */ privat

创建servlet类时出现的“private static final long serialVersionUID = 1L;”语句是什么意思啊?

实现java.io.Serializable这个接口是为序列化,serialVersionUID 用来表明实现序列化类的不同版本间的兼容性.如果你修改了此类, 要修改此值. 否则以前用老版本的类序列化的类恢复时会出错. 实现后如果你用的是工具的话会出来警告,他会提示你,可以自动生成private static final long serialVersionUID = 1L; 为了在反序列化时, 确保类版本的兼容性,最好在每个要序列化的类中加入private static final long

71. Java中序列化的serialVersionUID作用

Java序列化是将一个对象编码成一个字节流,反序列化将字节流编码转换成一个对象. 序列化是Java中实现持久化存储的一种方法:为数据传输提供了线路级对象表示法. Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的.在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常. Eclipse中The

转:serialVersionUID作用

汗,以前学了还忘了... Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的.在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常. Eclipse中The serializable class XXXXXX does not declare a static final serialVers