了解Gluon Ignite Lambda Idiom

时间:2016-02-12 10:34:21

标签: java lambda dagger gluon gluon-desktop

我使用Eclipse Gluon插件设置了一个JavaFX Gluon项目,并尝试使用Dagger来获取Gluon Ignite(Gluon Ignite;基本上是一个能够在JavaFX中使用CDI的包装器框架。

tutorial中,我找到了以下Java 8 Lambda表达式来创建DaggerContext对象:

private final DaggerContext context = new DaggerContext(this, () -> Arrays.asList(new DaggerModule()));

这让我感到困惑,因为我对Lambda表达式来说很陌生。但是,如果它完美无缺,我可能不会问这个问题 - 但它并没有;)Eclipse报告'

  

构造函数DaggerContext(GluonApplication,() - > {})未定义

那么有人可以一步一步告诉我那里发生了什么吗?也许保守的代码版本有助于更好地理解它。

我知道像这样的lambda表达式被用作创建匿名类对象的简短形式。 因此,当查看DaggerContext的构造函数时,我看到表达式() -> Arrays.asList(new DaggerModule())应该创建一个类型为Supplier<Collection<Object>>的对象,但这显然不起作用。

---更新---

问题只是一个简单的导入问题。我必须添加import java.util.Arrays;来解决错误。 Sill,如果有人可以提供对lambda表达式的进一步解释,那将是很好的。

0 个答案:

没有答案
相关问题