Error:(23, 47) error: lambda expressions are not supported in -source 1.7
(use -source 8 or higher to enable lambda expressions)
Error:Execution failed for task ':app:compileDebugJava'.
> Compilation failed; see the compiler error output for details.
知道为什么会这样吗?任何线索。
PS:在Stack中有几个类似的问题,但没有一个解决这个问题。请理解问题之前,您标记复制。
以下是解决方案:
Android不能构建在JDK1.8上;和Lambda表达式不能在1.8以下的JDK中使用。
解决方法是回到JDK1.7,避免使用Lambda符号。代替使用:
button.setOnClickListener((v) -> {
Intent newIntent = new Intent(MainActivity.this, NextActivity.class);
MainActivity.this.startActivity(newIntent);
}
});
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent newIntent = new Intent(MainActivity.this, NextActivity.class);
MainActivity.this.startActivity(newIntent);
}
});
我在Eclipse中打开了maven项目。但当我做清洁和安装,我得到以上的错误。 我将构建路径改为使用SE1.8,我的编译器也配置为使用1.8。您可以在下面的屏幕截图中看到这一点。 我在project explorer中也看到了小红叉。你可以在下面的图片中看到这一点。 我不确定为什么maven在Eclipse中配置为使用1.8时使用SE1.7。
很高兴知道java在java版本8中引入了Lambda表达式。 我当时在Android Studio工作。并且我注意到显示了下划线并变成了灰色,如下所示: 因此,我在该行执行了操作,并找到了用Lambda表达式替换代码的选项,如下所示: 其结果如下: 运行代码后,它显示了以下错误: 错误:(160,69)错误:source 1.7中不支持lambda表达式(使用source 8或更高版本启用lam
我使用maven构建我的项目。 我很困惑--mven看到我使用的是Java8。 pom.xml:
但是下面的代码工作得非常好。你能帮我找出原因吗?
我在构建Cordova Android应用程序时收到了这个错误信息。 错误:(159,66)错误:source 1.7中不支持lambda表达式(使用source 8或更高版本启用lambda表达式) 在我的build.gradle(模块android)和build.gradle(模块CordovaLib)上设置了以下compileOptions,如下所示:
我有一个使用火花的Java类。我需要从JavaRDD过滤掉标头。这就是我想做的。 但是,这段代码