Код: Выделить всё
[15NG22 Volvo Car]
Если из списка не было удалено ни одного объекта, верните значение null. В классе Vehicle у меня есть конструктор: public Vehicle (String VehicleID, String VehicleName, String VehicleType) {this.vehicleID = VehicleID; this.vehicleName = имя транспортного средства; this.vehicleType = Тип транспортного средства; и сеттеры/геттеры.
В классе VehicleShop:
Код: Выделить всё
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