创建具有不同目标对象的方法引用列表?

时间:2017-03-17 20:55:37

标签: java arrays reflection lambda

我仍然在Java 8中消化lambda概念。现在需要在我的服务中创建一个方法引用列表,其中包含2个其他服务对象。这是需要发生的事情

Person person = new Person();
this.method1(person);
service2.method2(person);
service3.method3(person);

所以列表应该有

0 -> this.method1,
1 -> service2.method2,
2 -> service3.method3,

非常重要的是,不会创建this.class,service2或service3的新实例。不确定实现这一目标的最佳方法。我可以帮忙吗?

1 个答案:

答案 0 :(得分:4)

看起来你只想要一个

List<Consumer<Person>> list = Arrays.asList(
    this::method1, service2::method2, service3::method3);
for (Consumer<Person> action : list) {
  action.accept(person);
}