问题描述
我想从3个对象中读取所有保留在同一Arraylist中的所有数据。例如,我有3个类,分别是Vehicle,Taxi,car。出租车,汽车类别是从继承的Vehicle继承的。称为Vehiclelist的Arraylist包含出租车,汽车,车辆。当我将对象写入文件时,它们具有不同的属性。这是我的车辆文件
AAA232,23,TM,GG,222,123
ABC234,TA,ga,123,ATC
LMC232,TC,123
问题是当我从Vehicle.txt将它们读回到Arraylist时。计算机如何才能知道哪个属于汽车或出租车,并且如果汽车具有7个属性,而出租车仅具有6个属性,我该如何解决。这是我的代码,以读取文件:
static void readVehicleFile() {
try {
File f = new File("Vehicle.txt");
Scanner SCF = new Scanner(f);
while (SCF.hasNext()) {
String record = SCF.nextLine();
Scanner SCR = new Scanner(record);
SCR.useDelimiter(",");
String plateNum,model,make;
int capacity,year,ownerID;
plateNum = SCR.next();
capacity = SCR.nextInt();
make = SCR.next();
model = SCR.next();
year=SCR.nextInt();
ownerID=SCR.nextInt();
Vehicle vehicle = new Vehicle(plateNum,capacity,make,ownerID);
vehicleList.add(vehicle);
}
SCF.close();
} catch (FileNotFoundException e) {
JOptionPane.showMessageDialog(null,"There is a error when saving file","Motor Vehicle Registration System",JOptionPane.ERROR_MESSAGE);
}
}
如您所见,它们都是由车辆而不是汽车或出租车读取的,因为如果我使用汽车对象,那么车辆将无法运行,因为车辆只有6个属性。有什么解决办法吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)