我正在使用Dagger依赖项注入来初始化Foo
元素列表,这些元素将被传递到另一个对象。这基本上是代码:
@Provides
@Singleton
public List<Foo> provideList(@Named("foo1") Foo foo1, @Named("foo2") Foo foo2) {
List<Foo> list = new ArrayList<>();
list.add(foo1);
list.add(foo2);
return list;
}
随着时间的推移,我们希望为此方法添加越来越多的Foo
参数。为了使代码更持久,我想执行以下操作:
@Provides
@Singleton
public List<Foo> provideList(@Named("foo1") Foo foo1, @Named("foo2") Foo foo2) {
List<Foo> list = new ArrayList<>();
args.forEach(arg -> {
if (arg instanceof Foo) list.add((Foo) arg);
});
return list;
}
在Java中这样的事情可能吗?