2011-09-23 88 views
71

我一直在想,用於Android開發的Java版本如何與Java SE版本相關。例如,我今天正在閱讀的是「類型推斷和通用方法」,它是Java SE 7中添加的一項功能。我自己也想知道「我可以在Android代碼中使用它嗎?」Android的Java版本如何與Java SE版本相關聯?

當然,我可以將代碼輸入到Android項目中,看看它是否編譯,但我會更高興地在腦海中進行某種映射。

我試過Google搜索此信息,檢查Android文檔等,但無法找到答案。

編輯:我對語言功能更感興趣,例如Android Java語法版本如何與Java SE語法相關聯。

+0

類似和相關(但過期):http://stackoverflow.com/q/390482/324625 –

+0

這裏一個很好的答案http://stackoverflow.com/questions/4867334/which-edition-of-java-is-being-used-in-android-j2me-or-java -se –

回答

41

Android的版本並不直接與Java SE相關,儘管它使用了Apache Harmony的SE 6庫和工具的子集。這將由Android團隊決定是否支持/需要SE 7版本的Harmony。

編輯它看起來像KitKat Android支持Java SE 7語言功能。請參閱下面的評論。

+9

那麼可以肯定地說Android語法大致相當於Java SE 6? (我瞭解這些庫是完全不同的) – jfritz42

+4

是的,可以肯定的說。如果他們切換到Java SE 7兼容性(即二進制字面值,switch語句中的字符串等),那麼我相信這一點將得到公佈。 – pents90

+2

FYI Apache決定在11月份退出Harmony項目[http://en.wikipedia.org/wiki/Apache_Harmony]。因此,看起來我們可能永遠都看不到SE7或更高版本? –