Код: Выделить всё
[15NG22 Volvo Car]
Если из списка не было удалено ни одного объекта, верните значение null. В классе Vehicle у меня есть конструктор:
Код: Выделить всё
public Vehicle(String vehicleID, String vehicleName, String vehicleType) {
this.vehicleID = vehicleID; this.vehicleName = vehicleName;
this.vehicleType = vehicleType;
}
// and Setters/Getters.
Код: Выделить всё
Vehicle vehicle = new vehicle(vehicleID, vehicleName, vehicleType);
List listOfVehicles = new ArrayList();
Код: Выделить всё
public List deleteVehicle(String vehicleID) {
List deletedVehicleList = new ArrayList(listOfVehicles);
List deletedVehicleDetailsList = new ArrayList();
Iterator it = listOfVehicles.listIterator();
while(it.hasNext()) {
String next = (String) it.next();
if(next.getVehicleID().equals(vehicleID)) {
it.remove();
System.out.println(next);
deletedVehicleDetailsList.add(next);
String deletedVehicleString = String.join(" ", deletedVehicleList);
System.out.println(deletedCustomerList);
Collections.addAll(deletedVehicleDetailsList, deletedVehicleString);
System.out.println(deletedVehicleDetailsList);
return deletedVehicleDetailsList;
}
}
deletedVehicleDetailsList = null;
return deletedVehicleDetailsList;
В функции addVehicle при запуске кода успешно добавляются автомобили в список транспортных средств (например, [123, Volvo, Truck, 242, Cat, Bulldozer, 666, Baneblade, Tank...] Но при попытке удалить транспортное средство возникла ошибка, и оно остановилось.
Ошибка находится в операторе if- в файле. Пока-итерация:
Код: Выделить всё
if(next.getVehicleID().equals(vehicleID))
Я тестировал другие решения, например
Код: Выделить всё
if(listOfVehicles.contains(vehicleID)) {
List deletedVehicleList = listOfVehicles.stream()
.filter(customer -> customer.getVehicleID().equals(vehicleID))
.collect(Collectors.toList());
}else {
deletedVehicleDetailsList = null;
}
Спасибо за любые объяснения и пояснения того, что я сделал/подумал неправильно.
Подробнее здесь: https://stackoverflow.com/questions/792 ... with-id-xx