【发布时间】:2014-04-16 05:34:59
【问题描述】:
我正在编写需要在 Java 7 中运行和编译的库代码,因此我无法直接使用 Java 8 中的新 lambda 功能。
但是我仍然希望代码能够方便地与 Java 8 一起使用。例如:
- 如果 Java 8 用户可以将内部类/vistor 样式模式用作 Lambda,将会很有帮助
- 我想提供方便与 lambda 一起使用的 API
我应该采用哪些做法来确保我的库的 Java 7 和 Java 8 用户都能获得最佳体验?
【问题讨论】:
-
作为 lamda 的只是客户端 - 即消费方法不知道它正在被传递一个 lambda - 没有。只需像往常一样编写代码即可。您可能尝试什么并提供比其他方式更多的单一方法接口 - 即要求两个都是 SMI 的参数,而不是一个执行两项任务的单个参数 - 但这也会污染代码Java 7 用户。
标签: java lambda functional-programming backwards-compatibility java-8