初学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<l.length;o++){
//Loan方法中有一个getTotalPayment()的方法,此处我用来测试 System.out.println(l[o].getTotalPayment());
}
}
会报出如下错误:
如果创建的对象是int或是String等类型,就可成功读出并且不报错,这是为什么呢?
希望可以多多指教,拜托!