初学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等类型,就可成功读出并且不报错,这是为什么呢?
希望可以多多指教,拜托!
初学者在使用Java的ObjectInputStream从文件中读取自定义类Loan的对象时遇到问题,能够正常读取基本类型如int和String,但对于自定义类Loan则出现错误。
505

被折叠的 条评论
为什么被折叠?



