我正在创建一个遍历飞机对象的列表的方法,这些对象都具有起飞,飞行和着陆方法。我通过使3个不同的for循环(分别执行每个方法)来创建此方法。无论如何,使用相同的for循环删除冗余代码?
protected void simulate() {
for(Aircraft obj : vehicles) {
obj.takeoff();
}
for(Aircraft obj : vehicles) {
obj.fly();
}
for(Aircraft obj : vehicles) {
obj.land();
}
最佳答案
要删除冗余代码,您可以
vehicles.foreach(Aircraft::takeOff)
vehicles.foreach(Aircraft::fly)
vehicles.foreach(Aircraft::land)
但是,如果要使它们一起飞行,则需要三个循环。