反序列化时,并没有强制转换,为什么还能正常打印结果

来源:6-1 序列化基本操作

画骨3478641

2017-06-30 19:56

package com.IOUtil.io;


import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.ObjectInputStream;

import java.io.ObjectOutputStream;


public class ObjectSeriaDemo01 {


public static void main(String[] args) throws IOException, ClassNotFoundException {

/*

//对象的序列化

String file = "demo\\obj.dat";

ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file));

Student stu = new Student("012", "王栋祥", 22);

oos.writeObject(stu);

*/

//对象的反序列化

String file = "demo\\obj.dat";

ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));

//ois.readObject();

System.out.println(ois.readObject());

}


}



写回答 关注

2回答

  • 慕用7293429
    2017-06-30 22:47:25

    我自己创建了一个学生类,然后用你的代码就是不行,必须要强转

    画骨3478...

    我知道了,因为我第二次测的时候,没有删掉第一次生成的文件

    2017-06-30 23:17:14

    共 1 条回复 >

  • 慕用7293429
    2017-06-30 22:35:44

    不可能吧,你在自己试试看,你试一下强转后的结果,在试一下没强转的,强转的对象是你的学生对象

    画骨3478...

    我试了,不强制转换,也可以

    2017-06-30 22:36:26

    共 1 条回复 >

文件传输基础——Java IO流

为您介绍IO流的使用,以及对象的序列化和反序列化的内容

133754 学习 · 1030 问题

查看课程

相似问题