首页 > 解决方案 > 在一行中为同一类的两个对象调用相同的方法

问题描述

是否可以在一行中为两个对象调用相同的方法?

从:

a.roll();
b.roll();

至:

a.b.roll();

标签: javamergesimplify

解决方案


您可以使用varargs参数来定义一个rollAll()函数,该函数接受任意数量的相同类型的参数。

所以你的代码看起来像这样:

rollAll(a, b);

或者

rollAll(a, b, c, d, e);

的方法定义rollAll()如下所示:

void rollAll(Rollable... rollables) {
    for (Rollable r: rollables) {
        r.roll();
    }
}

推荐阅读