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 14:47:11 浏览: 75
这段代码的优化点主要是:
1. 避免重复创建对象;
2. 简化条件判断;
3. 将重复的输出语句提取出来,减少重复代码。
下面是优化后的代码示例:
```
public boolean arrival(String carNum) {
if (parking.isFull()) {
Car car = new Car(carNum);
pavement.offer(car);
System.out.println(String.format("由于停车场已经满了,车牌号为%s的车辆已经进入便道等待。", carNum));
return false;
}
Car car;
if (!pavement.isEmpty()) {
car = pavement.poll();
parking.push(car);
System.out.println(String.format("便道上的车牌号为%s的车辆已经进入停车场。", car.getCarNum()));
} else {
car = new Car(carNum, System.currentTimeMillis());
}
parking.push(car);
return true;
}
```
在代码的优化过程中,我们使用了以下技巧:
1. 通过将 `carNum` 作为参数传入 `Car` 对象构造函数的方式,避免了重复创建对象的问题;
2. 使用 `String.format()` 函数简化了输出语句,避免了重复的代码;
3. 将 `car.setArriveTime(System.currentTimeMillis())` 移至 `else` 分支中处理,避免了重复的代码。
阅读全文