android java 会在 java 8 中支持 lambda 表达式吗?[已关闭]

2022-08-31 17:22:24

据我所知,dalvik vm中的“java”在API和架构等方面与Java se不同。但语法始终是相同的。(如果我错了,请纠正我)

现在java 8中对lambda表达式的支持即将发布,android java会跟它吗?google或aosp是否承诺使dalvik与java se保持一致?

更新:现在与Android 4.4 Kit Kat(API 19)一样,Java 7语法已被官方支持。来源自 android.com


答案 1

Android不使用Oracle的Java SE版本,它基于Apache Harmony项目的一部分,因此它甚至不支持Java 7。Harmony不再积极开发,也不会支持1.7。

除非Google决定将Harmony和Android SDK升级到更新的Java版本,否则Android中不会有任何Java 7或Java 8功能 - 即使新功能只是语法。他们可以使用像OpenJDK这样的替代实现,尽管我不知道对此有任何计划。有些人认为使用OpenJDK不太可能,因为谷歌和甲骨文之间的诉讼。


Java 7的一些功能,最值得注意的:菱形运算符,多捕获,字符串切换,在Android N中还有一些Java 8功能,如lambda表达式,自编写此答案以来,已经在Android中实现。(感谢RossStefan在评论中提到它)。

Google必须通过自己的努力来实现这些功能,并且似乎选择这样做主要是为了更受欢迎的功能。


答案 2

推荐