我仍然在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的新实例。不确定实现这一目标的最佳方法。我可以帮忙吗?
答案 0 :(得分:4)
看起来你只想要一个
List<Consumer<Person>> list = Arrays.asList(
this::method1, service2::method2, service3::method3);
for (Consumer<Person> action : list) {
action.accept(person);
}