我正在尝试从二进制文件中读取两个不同的列表。一个列表是Flight类型,另一个是Customer类型。我尝试使用instanceof运算符,但编译器显示错误 无法针对参数化类型列表执行 instanceof 检查。请改用 List 形式,因为更多的泛型类型信息将在运行时被删除。 由于必须使用循环读取项目,直到读取所有列表,我不确定如何实现此逻辑。我的代码如下:
public static void readFromFile() throws Exception {
List<Flight> flightList;
List<Customer> customerList;
//Create new input stream object
objInStream = new ObjectInputStream(new FileInputStream(fileLocation));
//Check if file exists
if(!fileLocation.exists()) {
//create new file
fileLocation.createNewFile();
}
Object o;
while((o = objInStream.readObject()) != null) {
//Compiler shows error
if(o instanceof List<Flight>)
flightList = (List<Flight>) o;
else if(o instanceof List<Customer>)
customerList = o;
}
}