java - 我现在可以使用 Android 开发 "use"Java 8 吗?

标签 java android java-8

我目前安装了 Java 7 JDK。已经有一段时间了。但是,最近,我的教授指示全类卸载 Java JDK 7 并安装 Java JDK 8,以便能够完成家庭作业等。

我一直在使用 Java JDK 7 编写和部署 Android 应用程序,没有任何问题,所以我想知道现在升级到 JDK 8 是否安全?我假设在我的 Android 开发中不需要任何特定于 Java 8 的方法或函数。那么,如果我远离它,我的 Android 开发是否会受到影响?

附带说明一下,我还没有找到任何官方文档来说明 Java JDK 8 是否安全或如何使其安全。无论哪种方式,我都必须尽快升级到 Java 8...

最佳答案

在 Google I/O 2016 中,他们宣布 Android 现在支持 Java 8 的部分功能,但不是所有功能。

特征如

  • 默认和静态接口(interface)方法
  • Lambda 表达式(也适用于 API 级别 23 及更低级别)
  • 可重复注释
  • 方法引用(也适用于 API 级别 23 及更低级别)
  • 类型注释(也适用于 API 级别 23 及更低级别)

此外,还提供以下 Java 8 语言 API:

  • 反射和语言相关的 API
    • java.lang.FunctionalInterface
    • java.lang.annotation.Repeatable
    • java.lang.reflect.Method.isDefault()
    • 以及与可重复注释关联的反射 API,例如 AnnotatedElement.getAnnotationsByType(Class)
  • 实用程序 API
    • java.util.function
    • java.util.stream

您应该做的就是使用新的 jack 编译器,为此您只需将其添加到您的 gradle 文件 build.gradle (Module: app):

android {
  ...
  defaultConfig {
    ...
    jackOptions {
      enabled true
    }
  }
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

引用资料:

关于java - 我现在可以使用 Android 开发 "use"Java 8 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34780565/

相关文章:

android - 您会推荐初学者使用 Android Studio 吗?

java - 解析android应用程序中存在问题的html

java - 如何使用 java 8 处理可空列表?

Java : Generic method and return type

Java gui框架重叠

java - Maven:未能执行目标 org.apache.maven.plugins:maven-resources-plugin:2.7:resources

java - 在 MongoDB 中对文档使用 forEach

java - 有条件的自动化网络交互

android - 新 Activity 关闭后如何返回原来的 Activity ?

java - 使用 java 8 lambda 最简单的对象列表排序