public boolean arrival(String CarNum) { Car car=new Car(); car.setCarNum(CarNum); if(parking.isFull()) { pavement.offer(car); System.out.println("由于停车场已经满了,车牌号为"+CarNum+"的车辆已经进入便道) else { if(!pavement.isEmpty()) { parking.push((Car) pavement.poll()); pavement.offer(car); } else { car.setArriveTime(System.currentTimeMillis()); } } return parking.push(car); } 优化这段代码
时间: 2023-11-28 07:48:55 浏览: 55
课题=json-smart 使用示例.docx
这段代码可以进行以下优化:
1. 避免重复创建对象,可以将`Car`对象的创建放在方法外部,作为类的成员变量。
2. 由于`pavement.offer(car)`和`parking.push(car)`是相同的操作,可以提取出来,避免代码重复。
3. 可以将`pavement.offer(car)`和`parking.push(car)`的操作封装为一个方法,提高代码的可读性和可维护性。
4. 可以将`!pavement.isEmpty()`的判断提前,避免在`parking.isFull()`的判断后再次判断。
综上所述,优化后的代码如下:
```java
private Car car = new Car();
public boolean arrival(String CarNum) {
car.setCarNum(CarNum);
if (parking.isFull()) {
enterPavement(car);
System.out.println("由于停车场已经满了,车牌号为" + CarNum + "的车辆已经进入便道");
} else {
if (!pavement.isEmpty()) {
Car temp = (Car) pavement.poll();
enterParking(temp);
enterPavement(car);
} else {
car.setArriveTime(System.currentTimeMillis());
enterParking(car);
}
}
return true;
}
private void enterParking(Car car) {
parking.push(car);
}
private void enterPavement(Car car) {
pavement.offer(car);
}
```
阅读全文