web-dev-qa-db-ja.com

Android Javaでラムダ式をサポートするJava 8?

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

lambda expression in Java 8 のサポートがリリースされようとしています。Android Javaはそれに従いますか? googleまたはaospは、dalvikをJava seと一致させることを約束しましたか?

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

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

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


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

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

33
kapex