Java 理解胶子点燃Lambda习语

Java 理解胶子点燃Lambda习语,java,lambda,dagger,gluon,gluon-desktop,Java,Lambda,Dagger,Gluon,Gluon Desktop,我使用EclipseGlon插件建立了一个JavaFXGlon项目,并尝试使用Dagger启动Glon Ignite(基本上是一个包装器框架,可以在JavaFX中使用CDI) 在一个示例中,我找到了以下Java 8 Lambda表达式来创建DaggerContext对象: private final DaggerContext context = new DaggerContext(this, () -> Arrays.asList(new DaggerModule())); 这让我有点

我使用EclipseGlon插件建立了一个JavaFXGlon项目,并尝试使用Dagger启动Glon Ignite(基本上是一个包装器框架,可以在JavaFX中使用CDI)

在一个示例中,我找到了以下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
的对象,但这显然不起作用

---更新---


这个问题只是一个简单的进口问题。我必须添加
import java.util.array
以解决该错误。西尔,如果有人能进一步解释一下lambda表达式,那就太好了

由于Glion移动应用程序还不支持Java8,所以我不会使用基于它的Ignite。你能提供一些证据吗?尽管如此,我并不真正依赖移动设备……因为Glion移动应用程序还不支持Java8,所以我不会使用基于它的Ignite。虽然这与我的问题无关。你能提供一些证据吗?尽管如此,我并不真正依赖手机。。。