【发布时间】:2011-11-15 10:49:38
【问题描述】:
我在阅读 Serializable 对象的 ArrayList 时收到奇怪的警告。代码如下:
public void loadBoard() {
FileInputStream fis = null;
ObjectInputStream is;
try {
fis = this.openFileInput(saveFile);
is = new ObjectInputStream(fis);
// Build up sample vision board
if (mVisionBoard == null) {
mVisionBoard = new ArrayList<VisionObject>();
} else {
mVisionBoard.clear();
}
ArrayList<VisionObject> readObject = (ArrayList<VisionObject>) is.readObject();
mVisionBoard = readObject;
is.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
Log.e(TAG, "loadBoard failed: "+e);
} catch (StreamCorruptedException e) {
e.printStackTrace();
Log.e(TAG, "loadBoard failed: "+e);
} catch (IOException e) {
e.printStackTrace();
Log.e(TAG, "loadBoard failed: "+e);
} catch (ClassNotFoundException e) {
e.printStackTrace();
Log.e(TAG, "loadBoard failed: "+e);
}
}
我收到的警告是(在 readObject 行):
“类型安全:从 Object 到 ArrayList 的未经检查的强制转换”
我读过的几个例子表明这是读取可序列化对象的 ArrayList 的正确代码。我编写数组列表的代码没有给我任何警告。我在这里做错了吗?
【问题讨论】:
标签: android arraylist serializable