【发布时间】:2015-06-13 19:59:27
【问题描述】:
针对 API 14 及更高版本的 android 项目使用 Java 1.8 是否有任何问题?我找不到任何关于此的文档,并想使用Optionals。
编辑:主要关注可选项(不重复)。
【问题讨论】:
针对 API 14 及更高版本的 android 项目使用 Java 1.8 是否有任何问题?我找不到任何关于此的文档,并想使用Optionals。
编辑:主要关注可选项(不重复)。
【问题讨论】:
据我所知,你不能这样做。 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 开发人员。
【讨论】:
据我所知没有。
您可以使用retrolambda 项目来使用lambda 表达式,但我不知道有任何项目反向移植Optional 的
【讨论】:
仅对于 Optionals,您也可以使用 guava - 如果您想要其他功能,您可能想看看 retro-lambda
还要三思而后行 Optional - 尽量在编译时使用 @Nullable @NonNull 之类的注解来实现 - 效果相同 - 速度更快
【讨论】: