我想写一个main方法测试一下readFile(),可是总发生ClassCastException,该怎么测试呢?
private static final String SAVEFILE="Mydata.data";
private static File createFile(){
//建立文件
}
public static List readFile(){
List list=new ArrayList();
………………………………//写入文件没问题
}public static List readFile(){
List list=new ArrayList();
ObjectInputStream ois=null;
try
{
File datafile=createFile();
InputStream is=new FileInputStream(datafile);
ois=new ObjectInputStream(is);
list=(List)ois.readObject();
}
catch (Exception e)
{
e.printStackTrace();
}
finally {
if (ois!=null)
{
try
{
ois.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
return list;
}

解决方案 »

  1.   


    list=(List)ois.readObject();
      

  2.   

    ClassCastException 是JVM在检测到两个类型间的转换不兼容时引发的运行时异常。此类错误通常会终止用户请求。
    list=(List)ois.readObject();
    这句错了吧
      

  3.   

    list=(List)ois.readObject();这句明明在你的代码里。
      

  4.   

    list=(List)ois.readObject(); 
    明显的返回的是一个object  你硬是要转成一个list。
    如何匹配?
      

  5.   

    那如何把读出的Object放入到list中
      

  6.   


    不是什么都能随便转的,你得保证你写的时候是List,要不你强行转的话……
    你以为跟windows一样,啥不懂的文件都扔到写字板里去看?