start_lie
start_lie
2019-02-26 10:05
采纳率: 100%
浏览 459
已采纳

LinkedList类中的三个属性序列化问题

在看linkedList源码的时候,发现LinkedList实现了Serializable接口,但是它所有的(共三个)属性,size,first,last都加了transient
关键字.
图片说明
于是我就写了一个序列化反序列化代码来序列化linkedlist试一下
结果发现反序列化后的linkedlist对应属性仍有值

图片说明
我想问一下大神们transient 关键字为什么在这里没有作用,求解

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • start_lie
    start_lie 2019-03-01 14:26
    已采纳

    LinkedList中重写列writeObject方法,ObjectOutputStream中将调用ObjectStreamClass里的方法通过反射根据方法名称来调用writeObject方法,以LinkedList中定义的方式来序列化链表中的元素和size字段

    点赞 1 评论
  • qq_40391363
    大大泡泡糖1996 2019-02-26 13:52

    transient 这个关键字是 不参与序列化

    点赞 评论
  • qq_38211936
    mnfx 2019-02-28 14:31

    transient 不能序列化

    点赞 评论

相关推荐