先说解决方法再说原因
解决方法:报错信息会指示出问题的是哪个实体类,在该实体类的后面加上一句 “implements Serializable”,例如
import java.io.Serializable;
public class User implements Serializable{
}
如果加了“implements Serializable”之后还是报错,你会发现报错信息里面指向的是你要序列化的类里面引用的其他实体类,所以实体类里面所有的实体类都需要加上 “implements Serializable” 。
原因:出现这个问题的时候应该是想要将 该实体类对象保存到某个地方,那么此时必须需要序列化;一个类只有实现了Serializable接口,它的对象才是可序列化的;
而访问这个类的源代码你会发现他什么也没有实现,其实就相当于一个标志位,它的作用只是能指明哪个类可以被实例化