java - 如何使用相同的 for 循环而不是三个循环

标签 java

我正在创建一个方法,该方法遍历一系列飞机对象,这些飞机都有起飞、飞行和着陆方法。我通过创建 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)

但是,如果你想让它们一起飞,你需要三个循环。

关于java - 如何使用相同的 for 循环而不是三个循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53035025/

相关文章:

java - 比较器 .comparing().reversed() 奇怪的行为/没有按预期工作

java - Message Queue、EventBus 和 Pub/Sub 之间的区别?

java - 从 Spring 表单复选框元素接收 EnumSet?

java - 无法在 google reCAPTCHA 中将其转换为 Executor

java - 如何使用 Struts2 更改默认的 JSP/模板位置

java - 在 OpenCV、Java 中添加两个 Mats 时出错

java - Mongodb查询匹配以空格分隔的单词

java - 如何使用Spring编写注解触发的方法拦截器?

java - Rally Java Rest 未知主机异常

Java收集和内存优化