Serializable实现部分属性的序列化与反序列化

实现部分属性序列化的方式

  1. 使用transient修饰符修饰属性
  2. 使用static修饰符修饰属性
  3. 使用源码WriteObject和readObject方法(略)

我们通过序列化案例作为案例,讲解前两种情况的使用和效果。

transient修饰

修改源码如下:

    private transient double salary;

运行结果如下:

static修饰

修改源码如下:

    private static double salary;

运行结果如下:

此时我们没看出有什么区别,我们在序列化方法后分别修改salary属性和name属性,
修改源码如下:

        SerializableUtils.getSerializable(w1,"D:\\临时文件夹\\测试\\新建文件夹\\worker.txt");
        w1.setSalary(25000);
        w1.setName("花花");
        Object o = SerializableUtils.getDeserializable("D:\\临时文件夹\\测试\\新建文件夹\\worker.txt");
        System.out.println(o);

运行结果如下:

我们可以看出,name属性不会变化,salary属性变化,这说明salary没有序列化到文件中。

posted on 2021-10-19 22:00  技术小伙伴  阅读(126)  评论(0)    收藏  举报