请问你们一般在action类里加不加这句话?private static final long serialVersionUID = 1L
问题1:不加这句话报警告,加了就不报?
问题2:不加对程序有影响吗?加了又有什么作用?
问题3:还有些人加private static final long serialVersionUID = -2231556599205500951L;又有什么作用?
问题1:不加这句话报警告,加了就不报?
问题2:不加对程序有影响吗?加了又有什么作用?
问题3:还有些人加private static final long serialVersionUID = -2231556599205500951L;又有什么作用?
解决方案 »
- struts2做jsp页面下拉框的时候传值到action,怎么传
- 求助!!!!! 都来看看,帮忙解决下!!!!
- eclipse控制台问题
- 请教如何查看junit测试信息
- strust2自定义异常问题
- 如何在cvs中同步xfire的配置文件
- 谢谢帮我看看,搞了快2天了迫切内连接2个表,表中对应的那2个字段在xml里面定义的都是string型的,看看查询后是这个异常!!严重: *** ERROR:
- struts上传文件 文件空指针,控制台没报错。。
- 关于事务的问题?
- log4j是个啥东东啊?我见过别人用一个.net的
- 做一个rest的web服务的转接,要怎么实现比较好?
- Ext JS中点击树的根节点时(点确定)出现如下的异常,是什么原因引起的?
期待人来回答其他的
如果加的话,建议你按照问题3提到的那种方式加。通过eclipse的自动排除错误/警告的功能。
一般我都修改Eclipse,禁止这个警告。不然太多类都加,并且它们不可能需要序列化的
假设public class A implements Serializable {
int x; int y; int z;
private static final long serialVersionUID = 123456;
}如果你序列化的时候,会把123456存入序列化的字节。当你拿出来用的时候,可能已经是两个月以后了,
这个时候,class A已经修改为:public class A implements Serializable {
int[] data;
private static final long serialVersionUID = 888888;
}已经和原来的版本完全不兼容,这个时候serialVersionUID就起作用了。当然,如果只是小的修改,完全不影响类的工作,serialVersionUID 可以不变。
至于那个“随机数”,其实是eclipse调用了jdk\bin\serialver.exe,对编译好的类进行摘要处理,任何改动,都会导致这个结果变化,无论改动是否影响序列化。