将类添加到ArrayList集合

时间:2016-04-07 00:24:39

标签: java bluej

我目前正在进行一项任务,要求我修改以前的方法。我目前的方法是:

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添加到集合中。我该怎么做?

2 个答案:

答案 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语句的块。