java - 在 Android Studio 中导入 java.util.stream.Stream 时出错

标签 java android android-studio

我正在为 Netbeans 和 Android Studio 使用 Java JDK 版本 1.8.0_60-b27。我无法在我的 Android Studio 项目中导入 java.util.function.Consumerjava.util.stream.Stream 包。但我可以在我的 Netbeans 项目中导入相同的内容。这是什么原因?

最佳答案

在 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
  }
}

引用文献 https://developer.android.com/guide/platform/j8-jack.html https://www.youtube.com/watch?v=B08iLAtS3AQ&feature=youtu.be&t=28m14s

关于java - 在 Android Studio 中导入 java.util.stream.Stream 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34741393/

相关文章:

android - 未收到使用 API v3 的 Android 应用内购买结果

java - 如何保存可见性android

java - Android 中的网络

Android Studio 布局编辑器 ConstraintLayout : pack vs chain

java - Unity3D 和 Android Studio 集成

java - 保留与使用 @idclass 的实体列表关联的实体

java - 带有 android.os.Build 和 android.util.Log stub 的公共(public) Maven JAR Artifact

java - 使用 jaxb 从 xml 元素列表中提取值

java - 带有 spring-security 的 OAuth2 - 通过 HTTP 方法限制 REST 访问

java - Android 工作室崩溃了。任何项目都行不通,有红线