Java 未选中强制转换防止在自定义对象的ArrayList上生成ObjectInputStream.readObject

Java 未选中强制转换防止在自定义对象的ArrayList上生成ObjectInputStream.readObject,java,android,arraylist,load,Java,Android,Arraylist,Load,我有一个非常简单的函数loadPlants(),它从内存中加载ArrayList public void loadPlants() { try { FileInputStream fIS = this.openFileInput("plantArrList"); ObjectInputStream oIS = new ObjectInputStream(fIS); myPlantList = (ArrayList<Plant>)

我有一个非常简单的函数
loadPlants()
,它从内存中加载
ArrayList

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();
    }
}
public void loadPlants(){
试一试{
FileInputStream fIS=this.openFileInput(“plantArrList”);
ObjectInputStream oIS=新ObjectInputStream(fIS);
myPlantList=(ArrayList)oIS.readObject();
oIS.close();
fIS.close();
}捕获(IOException | ClassNotFoundException){
即printStackTrace();
}
}

我在
myPlantList=(ArrayList)oIS.readObject()中得到错误。这是说,我有一个未经检查的演员阵容,这是真的,但问题是,它不会让我像这样运行应用程序。我确信这将始终是类型
ArrayList
,有没有办法绕过它?或者我错过了什么?我曾尝试将数据分配给一个临时对象,然后将其强制转换为
ArrayList
,并使用一个嵌套的if语句测试所有可能的情况,但这两种情况都不起作用。

@ADM。。。你无处不在……;)