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-12-03 07:47:30 浏览: 85
可以考虑以下几个方面进行优化:
1. 减少不必要的对象创建:可以将 `Car` 对象的创建放在方法内部,避免每次调用 `arrival` 方法都创建一个新的 `Car` 对象。
2. 简化判断逻辑:可以将 `if(!pavement.isEmpty())` 和 `else` 分支的代码合并,避免重复代码。
3. 提取常量:可以将一些常量值提取出来,以便统一管理和修改。
优化后的代码如下:
```java
private static final int MAX_PARKING_SPACE = 100; // 停车场最大容量
public boolean arrival(String carNum) {
if (parking.size() >= MAX_PARKING_SPACE) {
System.out.println("由于停车场已经满了,车牌号为 " + carNum + " 的车辆已经进入便道等待。");
pavement.offer(new Car(carNum));
return false;
} else {
Car car = new Car(carNum);
if (!pavement.isEmpty()) {
parking.push(pavement.poll()); // 便道上的车进入停车场
pavement.offer(car); // 刚来的车进入便道等候
} else {
car.setArriveTime(System.currentTimeMillis());
}
parking.push(car);
return true;
}
}
```
阅读全文