温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
如果不用集合,直接存多个对象,反序列化有什么不同吗?哦,这个你你直接存多个对象,你存第二个就会报错,注意啊,你存储第二个对象。会报错。啊,你需要使用list的集合啊。你需要使用list的集合。注意啊,小鹏这个问的对啊,就是如果不用集合直接存多个对象反击的话,会有什么不同,直接存多个对象,你存第二个对象的时候会报错,你可以试验一下啊,存储第二个对象会报错。嗯,所以注意这块啊,存多对象的话,你就用list的集合就行了。集合啊。我强调一下这个事儿吧,嗯,好吧。当然你还有一些别的手段啊,别的手段当然没必要,我们一般情况下,如果说往文件里面虚化多个对象的话,你可以。嗯,可以整一个list的集合出来,然后呢,把元素放到list集合,给它序列化list集合就行了啊,这是一种手段吧,一种手段,那么现在呢,有一个需求,什么需求呢?说user这个类啊。
01:04
它里边这个我不希望序列化。就这里边的属性呢,你看刚才大家看是不是一和这个张三二和李四,是不是这些都是都序列化到文件里边了,对吧?如果你不希望其中这个属性,或者说是这个属性,不希望某一个属性参与序列化的话,你可以怎么办呢?诶在这加一个关键字啊,这个关键字叫trans。叫游离,各位注意啊,这个trans的关键字,这是第一次啊,第一次用啊,这个关键字表示什么呀,游离的。游离的。啊,不参与序列化,明白吧,这个name字段不参加序列化,不参加序列化啊,表示name。不参与序列化操作啊,这个transcent现在是不是终于学到了,对吧,有这么一个关键字是不是啊,叫transcent啊transcent transccent各位你看看这个aist,这个这个这个aist里边有没有这个transcent,找找你看。
02:08
是不是?对吧,哎,有cent的啊来,那么接下来我们来看看啊专接下来我们看一下这个object outp test02啊这个程序的话,我们再重新写一下各位啊,重新写入啊,重新序列化,是不是你有了个对象对象对项啊好,其中这个name这个name这个name是不是不参加序列化,只有123是不是参加序列化好走。运行结束之后这个user,诶,序列化完了,我们反序列化啊,来input stream负反序列化,拿到这个对象,我们输出这个user,看一看它哪些属性有值,哪些属性没有值,好大家看这个name现在是不是none none none啊对吧,没有值吧,是不是name没有值啊,为什么这个name没有值了呀,因为你当初啊,在这个位置设置了你的name是不参加序列化的。所以这个并没有序列化到文件当中,但是最终在反序列化的时候,它需要new对象,它需要六个U的对象,再6U的对象,再6U的对象,六三个U的对象,但是这个user对象name没有值,默认值就是什么呀,那啊,所以说反序列化的时候,大家看这个结果是不是就是name是none啊。
03:13
对吧,哎,内部是,那所以这个知识点大家也要知道啊,是关于有一个关键字叫川森的关键字,这个关键字修饰的我们的属性是不参与序列化的啊,不参与序列化。
我来说两句