我有一个非常简单的函数loadPlants()
,可以从内存中加载ArrayList<Plant>
。
public void loadPlants() {
try {
FileInputStream fIS = this.openFileInput("plantArrList");
ObjectInputStream oIS = new ObjectInputStream(fIS);
myPlantList = (ArrayList<Plant>)oIS.readObject();
oIS.close();
fIS.close();
} catch (IOException|ClassNotFoundException ie) {
ie.printStackTrace();
}
}
我收到了myPlantList = (ArrayList<Plant>)oIS.readObject();
的错误。这是说我有一个未经检查的演员,这是真的,但问题是它不会让我像这样运行应用程序。我确信这将始终是ArrayList<Plant>
类型,有没有办法绕过这个?或者也许是我失踪的东西?我已经尝试将数据分配给临时对象,然后将其转换为ArrayList<Plant>
,并对所有可能的情况进行严格嵌套的if语句测试,但这些都没有。