我想編寫一個從二進制文件中讀取對象的方法,但我想使用泛型進行概括。編寫讀取二進制文件的方法
我有這樣的代碼:
@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);
(沒有 「」)
好,在Java中的模板,但他們使用<>,如在公共靜態條目兩次(T值) –
jun
2011-01-07 23:01:56
也許你的意思是不是像C++中的模板一樣的泛型 – 2011-01-07 23:03:13