我想编写一个从二进制文件中读取对象的方法,但我想使用泛型对其进行概括。
我有这个代码:
@SuppressWarnings ("unchecked")
public static <T> T readFromBinaryFile (String filename){
T obj = null;
if (FileUtils.existsFile (filename)){
ObjectInputStream ois = null;
try{
ois = new ObjectInputStream (new FileInputStream (filename));
obj = (T)ois.readObject ();
}catch (IOException e){
Debug.out (e);
}catch (ClassNotFoundException e){
Debug.out (e);
}finally{
try{
if (ois != null) ois.close();
}catch (IOException e){
Debug.out (e);
}
}
}
return obj;
}
当我执行它时,我得到一个 ClassCastException。我对java中的模板一无所知,所以任何信息都会被理解。我已经阅读了与擦除、编译时间和执行时间相关的内容,但我不太明白为什么会得到这个 ClassCastException。
谢谢。
编辑:我这样调用方法:(
FileUtils.readFromBinaryFile (filename);
没有“”)