【问题标题】:Does Android SDK with API 23 (Marshmallow) supports Java 8? [duplicate]带有 API 23 (Marshmallow) 的 Android SDK 是否支持 Java 8? [复制]
【发布时间】:2016-05-08 11:13:27
【问题描述】:

IntelliJ Android Studio 上次更新(从 2016 年 1 月 30 日开始)是否支持 Java 8?

我使用了 lambda 表达式

mButton.setOnClickListener((View v) -> {
    // do something here
});

然后 Android Studio 告诉我我有一个错误,当我解决问题时(Alt+空格键)我选择更改为 Java 8(或类似的东西)并且它适用于 lambda 但来自 Android 的库似乎不受支持它用红色标记。

在 Android Studio 中支持 Java 8 的任何选项?

注意:我使用的是最后一个 API 级别

【问题讨论】:

标签: java android intellij-idea lambda


【解决方案1】:

Android 正在使用已退役的 Apache Harmony 作为其 Java 实现,我相信 Harmony 在 Java 6 上,所以不,不支持 Java 8。

Android N 将支持 Java 8,因为它将使用 OpenJDK 而不是 Harmony。

【讨论】:

    【解决方案2】:

    不,不支持 Java 8。您可以改为编写 Lambda 和方法引用的方法是将 retrolambda 依赖项包含到您的项目中。与流相同,这里是a backport library。或者,考虑使用kotlin

    【讨论】:

    猜你喜欢
    • 2016-08-24
    • 1970-01-01
    • 2013-12-07
    • 2013-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-18
    • 2017-03-25
    相关资源
    最近更新 更多