实体类,实现了序列化接口,在什么时候能用上?

例如实现序列化接口后,需要添加一个序列化版本ID

    private static final long serialVersionUID = 1L;

8个回答

你写一个student类 试试 继承序列化接口和不实现有啥区别

 ObjectOutputStream out=new ObjectOutputStream(new FileOutputStream("路径"));
            out.writeObject(student);
zzhao114
Z. ZHANG 回复据说名字太长不容易被发现: 这是输出流 你可以再用个输入流 把你刚刚输出的类给输入 再转换成student ,这个student就会有你刚刚输出的对象的属性的值,就是说 比如你有个对象 对象有个属性 叫name 它的值是tom 然后你把这个对象保存到对象里 如果你继承序列化接口 你反序列化之后 这个tom这个值还在
3 年多之前 回复
u013179958
CSDNRGY 试了下实现序列化后的Student可以被转换成16进制
3 年多之前 回复

基本没用着......

在实体反序列化的时候会用上,字节码反序列化的时候,会验证序列化id来确定实体序列化版本是否一致

序列化主要就是把你要保存的数据,转换成字节码的形式,反序列化就是把字节码变成数据。在JVM中,当一个可序列化的类被实例化后,它的实例存储在JVM中时,是一个唯一的Id,同一个类名,值相同序列化id就默认为同一版本可以执行序列化。反之如果两个类相同但版本号不同就会反序列化出错,因为他们不是同一版本。所以就是在你保存数据的时候已经在用了

javaweb里没啥用其实。。。但是在java里 比如说 你要把你这个实体类保存到一个文件里 就需要继承序列化接口 不然你反序列化 是得不到你存在实体类里的数据的 那个id 就是唯一性的意思

u013179958
CSDNRGY 体类保存到一个文件,这是什么意思,可否举个例子
3 年多之前 回复

实体对象保存到文件的时候,使用Java IO流,就需要使用这种可序列化对象(实现了序列化接口的实体类)

当你需要把类信息保存到磁盘或者进行网络传输时会用到序列化

主要是网络传输时使用,特别是有些RPC框架

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问