6

我很想在 Java 中使用闭包。我已经读到它们可能会或可能不会进入 Java 7。但是一个名为functional-java的开源项目已经实现了包括闭包在内的功能特性。

在企业生产应用程序中使用这样的库有多安全?

目前有没有更好的方法向 Java 添加闭包?

4

6 回答 6

6

由于对单一实现缺乏共识,闭包肯定不会进入 Java 7。看这里。

函数式 Java 库经过全面测试和积极开发。如果您浏览源代码,您会发现它只是简单的沼泽标准 Java,并没有太多可能出错的地方。我知道至少有一个在生产中使用它的关键任务企业应用程序。该应用程序拥有超过一百万的用户。

去吧。

于 2009-04-20T04:33:32.773 回答
4

函数式 Java 不需要您使用闭包——源代码可以使用任何 Java 1.5 编译器进行编译。函数式 Java 比 Google 集合要完整得多,并且恰好允许您将它与 BGGA 很好地结合使用。

希望这可以帮助。

于 2009-04-20T04:54:35.593 回答
4

我认为您从错误的角度看待这个问题。

我很想在 Java 中使用闭包。...在企业生产应用程序中使用这样的库有多安全?

您对在企业生产应用程序中使用何种技术的决策应基于长期对企业最有利的技术。你应该问这样的问题:

  • 从功能的角度来看,添加该技术是否会显着改进应用程序?
  • 当前项目有哪些风险?
  • 该技术是否声称已“准备好生产”?
  • 是否支持技术。在 5 到 10 年的时间里,它是否仍可能得到支持?
  • 如果你离开公司,其他人会接管你的代码吗?
  • 使用该技术对培训/招聘有何影响?

一般来说,诸如“我愿意使用 Xxx”之类的陈述在企业决策中不应占有一席之地。(有反例;例如,初创公司将公司押在某些新技术上,但真正的成功率是……嗯……可以猜测。)

总而言之,如果你正在构建企业生产应用程序,你需要保持保守,抵制使用闪亮的新技术“为了好玩”的诱惑。试着像 IT 经理一样思考。

于 2009-09-13T00:09:41.443 回答
2

如果您正在寻找一个更轻量级的解决方案来在纯 Java 中使用闭包,请查看 lambdaj 项目:

http://code.google.com/p/lambdaj/

于 2009-09-12T07:30:59.347 回答
0

BGGA 仍然是一个原型实现,不确定您将原型代码投入生产的舒适程度。查看谷歌收藏,它让你更接近目标,尽管更冗长

于 2009-04-20T03:29:46.233 回答
0

太老的问题无法回答。在这里,我们在 java8 中有 lambda,让您的生活更轻松。

于 2015-11-19T16:13:58.810 回答