JAVA中序列化读取对象的问题

初学JAVA,对serializable使用ObjectInputStream有些疑问,假设当我自己写一个名为Loan的类,先用ObjectOutputStream将Loan的一些数据储存进去,当我想把它再次读出来的时候程序就会报错。

	try(ObjectInputStream input=new ObjectInputStream(new FileInputStream("test.dat"))){
//创建一个l对象变量用于读出写入文件中对象
		Loan[] l=(Loan[])input.readObject();
		for(int o=0;o

会报出如下错误:

如果创建的对象是int或是String等类型,就可成功读出并且不报错,这是为什么呢?

希望可以多多指教,拜托!

你可能感兴趣的:(JAVA中序列化读取对象的问题)