原文:https://zhidao.baidu.com/question/346966101.html
比如有个类实现了java.io.Serialize接口:
package com.onede4.test;
public class TestSerial implements java.io.Serializable {
}
如果代码仅仅写上这样,放在eclipse里会给你提示一个黄色的警告,为啥呢,就是因为,你实现了Serializable 接口,但是没有给出
private static final long serialVersionUID = 5952689219411916553L;
类似这样的私有字段(这个字段是实现了Serializable接口需要的,但不必须)
只要加上类似这样的一个字段,黄色警告就会消失,但是你如果就是不想加这个字段,同时还不想看到那个黄色的警告,没问题,那就要在类上加一个注解(@SuppressWarnings("serial"))
package com.onede4.test;
@SuppressWarnings("serial")
public class TestSerial implements java.io.Serializable {
}
这样eclipse就不会有那个黄色的警告了
不过我们还是推荐给出private static final long serialVersionUID = 5952689219411916553L;
当你的类进行序列化和反序列化操作的时候如果没有这个字段可能会出问题,所以尽量加上这个字段,不要用@SuppressWarnings("serial")注解
本文探讨了在Java中实现Serializable接口时serialVersionUID的作用及重要性。解释了为什么Eclipse等IDE会警告未声明该字段,并提供了如何正确添加serialVersionUID以避免警告的方法,同时也讨论了使用@SuppressWarnings(serial)注解来抑制警告的替代方案。
5626

被折叠的 条评论
为什么被折叠?



