【发布时间】:2017-03-20 10:59:12
【问题描述】:
在 Swift 中,函数类型被视为一等公民,可以在任何地方使用,就像任何其他类型一样。它的语法简单明了,易于理解和使用。
另一方面,Java 确实支持通过 lambda 表达式进行函数编程,但总的来说,与 Swift 的函数类型相比,我发现它不太直观、更难理解,而且似乎更具限制性。
我的问题是,既然 Swift 的函数类型和 Java 的 lambda 表达式的目的都是为了实现函数式编程,那么有没有 Swift 的函数类型可以做的事情,而 Java 的 lambda 表达式却不能呢?还是它们都同样强大?
【问题讨论】:
-
考虑将Kotlin 添加到比较中。
-
应该考虑的是 Java 中的性能/膨胀问题:realm.io/news/360andev-jake-wharton-java-hidden-costs-android 基本上,Swift 的闭包和函数类型的实现是语言核心的一部分。 Java 的实现已经完成。
标签: java swift function lambda