Android N Java8 java.time

时间:2016-03-15 01:14:48

标签: android java-8 java-time android-7.0-nougat

我更新到最新的Android N sdk。我唯一不理解的是为什么我无法将java.time导入到我的代码中?我认为Java8可以通过Android N使用。那么为什么Google没有添加java.time包?

4 个答案:

答案 0 :(得分:19)

Android N不支持Java 8的所有功能。 仅支持以下功能:

  • 默认和静态接口方法
  • Lambda表达式
  • 可重复注释

反思和与语言相关的API:

  • java.lang.FunctionalInterface
  • java.lang.annotation.Repeatable
  • java.lang.reflect.Method.isDefault()

和与可重复注释相关联的Reflection API,例如 AnnotatedElement.getAnnotationsByType(Class)

实用程序API:

  • java.util.function

有关详细信息,请查看以下链接:http://developer.android.com/preview/j8-jack.html

答案 1 :(得分:14)

可以使用适用于Android的java.time API的backport库

https://github.com/JakeWharton/ThreeTenABP

答案 2 :(得分:8)

java.time包仅在API 26(Android O)中添加:

https://developer.android.com/reference/java/time/package-summary.html

答案 3 :(得分:3)

从Android Gradle插件4.0.0开始,我们终于可以使用适当的c_1 + f(c_2)包类了(几乎不用担心): https://developer.android.com/studio/write/java8-support

java.time,并且Android Gradle插件将其分解为Java 7。

要添加这些类支持,只需在构建文件中添加几行:

Optional, java.time, streams

完整列表如下:https://developer.android.com/studio/write/java8-support-table