我知道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
Android不使用Oracle的Java SE版本,它基于ApacheHarmony项目的一部分因此它甚至不支持Java7。不再积极开发Harmony,也不支持1.7。
除非Google决定将Harmony和Android SDK升级到更新的Java版本,否则Android中将不会有Java 7或Java 8功能- 即使新功能只是语法上的。他们可以使用 OpenJDK之 类的替代实现,尽管我不知道有什么计划。有人认为,由于Google和Oracle之间的诉讼,不太可能使用OpenJDK。
自编写此答案以来 ,Java7的_一些_ 功能最为显着:菱形运算符,多捕获,字符串切换以及Android N中的lambda表达式等 Java8功能也已在Android中实现。(感谢Ross和Stefan在评论中提到它)。
Google必须自己努力实现这些功能,而且似乎主要是为了获得更多受欢迎的功能。