【问题标题】:Using Java 1.8 for Android project [duplicate]为 Android 项目使用 Java 1.8 [重复]
【发布时间】:2015-06-13 19:59:27
【问题描述】:

针对 API 14 及更高版本的 android 项目使用 Java 1.8 是否有任何问题?我找不到任何关于此的文档,并想使用Optionals。

编辑:主要关注可选项(不重复)。

【问题讨论】:

    标签: java android


    【解决方案1】:

    据我所知,你不能这样做。 Android 使用 Java API 的子集和 Java 1.5 的 Java 语言(来自内存)。因此,Optional 在 Android 中包含的 API 中将不可用,并且在将 Android 定位为平台时,您无法使用 1.8 语言功能(lambda 等)。

    您也许可以使用 1.8 编译器编译到 Java 1.5(语言级别);但是你也可以只使用 Java 1.5。 (请记住,您仍然需要通过在 Dalvik 上部署它所需的所有 Android SDK 步骤来运行您的项目:您不能像构建常规 Java 应用程序那样只构建一个 .jar。)

    这是我的经验 - 虽然我不是全职的 Android 开发人员。

    【讨论】:

    • 我应该补充一点,我根本没有使用过Android 5.0。
    【解决方案2】:

    据我所知没有。

    您可以使用retrolambda 项目来使用lambda 表达式,但我不知道有任何项目反向移植Optional

    【讨论】:

      【解决方案3】:

      仅对于 Optionals,您也可以使用 guava - 如果您想要其他功能,您可能想看看 retro-lambda

      还要三思而后行 Optional - 尽量在编译时使用 @Nullable @NonNull 之类的注解来实现 - 效果相同 - 速度更快

      【讨论】:

        猜你喜欢
        • 2021-03-27
        • 1970-01-01
        • 2016-08-17
        • 1970-01-01
        • 1970-01-01
        • 2017-05-28
        • 2014-03-24
        • 2016-04-02
        • 2013-05-12
        相关资源
        最近更新 更多