Débutant Java convertir un objet arraylist pour délivrer en sortie la valeur de chaîne?

onesnapthanos:

Je suis codage pour obtenir un travail de simulateur de ticket de stationnement. J'ai de nombreuses classes, celles qui sont pertinentes sont une classe ParkedCar, classe ParkingTicket et une classe de policier. Maintenant, je l'ai écrit une méthode où je prends la variable licensePlateNumber de ParkedCar en tant que paramètre, et je dois obtenir le nombre de ParkingTicket pour une voiture. Je reçois une erreur dans la classe de test que j'ai ci-dessous, il l'habitude de compiler à cause de cela. La méthode est la suivante

classe policier

public int getParkingTicketsCountForACar(ParkedCar licensePlateNumber){
int numberOfTickets = 0;
String carPlateNumber = licensePlateNumber.getLicensePlateNumber();
for(ParkingTicket ticket: ticketList){
if(carPlateNumber.equalsIgnoreCase(ticket.getCarLicensePlateNumber())){
numberOfTickets++
}
return numberOfTickets;
}

classe d'essai

public void testGetParkingTicketsCountForACar() {

    PoliceOfficer p = new PoliceOfficer("Adam White","RCMP5225");
    ParkedCar car = new ParkedCar("Bob Smith", "Porsche", 2015, "1A2B3C", 65);
    ParkingMeter meter = new ParkingMeter("Burnaby",false,10.5,60);
    p.issueParkingTicket(car, meter);
    ParkedCar car2 = new ParkedCar("Scott Marks", "Ford", 2010, "MYCAR", 30);
    meter.setNumberOfPurchasedMinutes(1);
    p.issueParkingTicket(car2, meter);
    car.setNumberOfMinutesParked(125);
    meter.setNumberOfPurchasedMinutes(20);
    p.issueParkingTicket(car, meter);
    assertEquals(2,p.getParkingTicketsCountForACar("1a2B3c"));

Je reçois une erreur à la fin « 1a2b3c » en disant java.lang.String ne peut pas être converti en ParkedCar. Est-il un moyen de résoudre ce problème sans utiliser la méthode de remplacement chaîne?

alufoil:

vous passez la valeur de chaîne de licensePlateNumber, et dans la méthode

public int getParkingTicketsCountForACar(ParkedCar licensePlateNumber){}

vous attendez entrée de type ParkedCar, puis u vous extrayez le licensePlateNumber. vous pouvez réduire la méthode juste:

public int getParkingTicketsCountForACar(String licensePlateNumber){
    for(ParkingTicket ticket: ticketList){
    if(licensePlateNumber.equalsIgnoreCase(ticket.getCarLicensePlateNumber())){
        numberOfTickets++
    }
    return numberOfTickets;
}

Je suppose que tu aimes

Origine http://10.200.1.11:23101/article/api/json?id=389857&siteId=1
conseillé
Classement