57

dalvik vm の「java」は、API やアーキテクチャなどの点で Java se とは異なることを理解しています。ただし、構文は常に同じです。(間違っていたら訂正してください)

Java 8 でのラムダ式のサポートがリリースされようとしていますが、Android Java はそれに従いますか? google または aosp は、dalvik を Java SE と一致させることを約束しましたか?

更新: Android 4.4 Kit Kat (API 19) と同様に、Java 7 構文が正式にサポートされました。android.com からのソース

4

1 に答える 1

33

Android は Oracle の Java SE バージョンを使用しません。これは Apache Harmony プロジェクトの一部に基づいているため、Java 7 もサポートしていません。Harmony はこれ以上積極的に開発されておらず、1.7 をサポートしません。

Google が Harmony と Android SDK を新しい Java バージョンにアップグレードすることを決定しない限り、Android には Java 7 または Java 8 の機能はありません - 新機能が単なる構文であっても。OpenJDKのような代替実装を使用することもできますが、その計画については知りません。Google と Oracle の間で訴訟が起きているため、OpenJDK の使用はありそうにないと考える人もいます。


Java 7 のいくつかの機能、最も注目すべきもの: ダイヤモンド演算子、マルチキャッチ、文字列スイッチ、および Android Nでは、この回答が書かれて以来、ラムダ式などの Java 8 機能が Android に実装されています。(コメントで言及してくれたRossStefanに感謝します)。

Google はこれらの機能を独自の努力で実装する必要があり、主に人気のある機能のためにそうすることを選択しているようです.

于 2013-02-11T19:45:15.627 に答える