lambda 表达式的向后兼容性?

Backwards compatibility of lambda expressions?

Netbeans 总是建议我使用 Lambda 表达式,而且我知道 lambda 是一种新事物。所以我想知道我是否将代码转换为使用 lambda 表达式,如果我将它导出为 jar 并将其发送给其他人以及那些没有安装最新 Java 的人,它是否有效,如果没有当他们 运行 时会发生什么?

并且在制作学校项目时,我正在发送 netbeans 项目,并且有可能测试我的代码的项目没有最新版本。你认为我应该使用 lambda 表达式吗?

我确实喜欢这种更干净、更简单的代码,但我希望它也能在任何地方工作。

如果您在学校使用它,这意味着您的老师可能也有 Java 8。如果您觉得 lambda expressions 会使您的代码更短,请随意使用。

如果让 Netbeans 8 将其转换为 lambda 表达式,您将得到类似于 submitButton.addActionListener(e -> {doStuff();}) 的结果。这是functionally equivalente -> {doStuff();} 的字面意思是 "make me an object of a class with function of e that matches the argument type, ActionEvent, and has the body doStuff."

Lambda 表达式非常强大(而且很酷)functional programming API Java 8.