我目前正在进行一项任务,要求我修改以前的方法。我目前的方法是:
public ParkingTicket issueParkingTicket(ParkedCar car,ParkingMeter meter){
if(isParkingTimeExpired(car,meter) == true){
ParkingTicket ticket = new ParkingTicket(getOfficerName(),getBadgeNumber(),car.getLicenseNumber(),car.getCarMake(),car.getCarModel(),calculateFine(car, meter));
ticket.displayTicketDetails();
return ticket;
}
return null;
}
该系列是停车票的集合(也是一类"公共类ParkingTicket)。我上面写的方法存在于另一个类(公共类ParkingOfficer)。
此方法将创建一个对象。另外,我喜欢这种方法来创建对象并将其作为ArrayList添加到集合中。我该怎么做?
答案 0 :(得分:0)
在您的其他课程中,请执行以下操作:
ParkingTicket blah;
ParkingTicket foo;
ParkingTicket bar;
ArrayList<ParkingTicket> allDaTickets = new ArrayList<>();
allDaTickets.add(blah);
allDaTickets.add(foo);
allDaTickets.add(bar);
答案 1 :(得分:0)
要创建某个类的ArrayList,您可以:例如使用类&#39; Fruit&#39;并调用列表&#39; fruits&#39;。
List<Fruit> fruits = new ArrayList<>();
//to add an instance, to the above list, you use the add method
fruits.add(instance);
在您的情况下,要创建ParkingTickets列表,它将是:
List<ParkingTicket> tickets = new ArrayList<>();
tickets.add(ticket); //ticket being an instance of ParkingTicket ofcourse
话虽这么说,你的代码需要一些重构。你的if条件不应该是:
if(isParkingTimeExpired(car,meter) == true)
我假设isParkingTimeExpired(car,meter)方法已经返回一个布尔值,因此不需要&#39; == true&#39;参与你的状况检查。 它会变成这样的东西。
if(isParkingTimeExpired(car,meter)) { .... }
如果方法返回true,则执行if语句的块。