很高兴知道java在java版本8中引入了Lambda表达式。
我当时在Android Studio工作。并且我注意到DialogInterface.onClickListener()
显示了下划线并变成了灰色,如下所示:
因此,我在该行执行了alter+enter
操作,并找到了用Lambda表达式替换代码的选项,如下所示:
其结果如下:
运行代码后,它显示了以下错误:
错误:(160,69)错误:source 1.7中不支持lambda表达式(使用source 8或更高版本启用lambda表达式)
您不能为Android编译Java8源代码,因为Android SDK还不支持Java8。
但是有一种方法可以在代码中使用lambda-retrolambda。这是一个小技巧,允许您在项目中使用Java8的一些特性。
我在构建Cordova Android应用程序时收到了这个错误信息。 错误:(159,66)错误:source 1.7中不支持lambda表达式(使用source 8或更高版本启用lambda表达式) 在我的build.gradle(模块android)和build.gradle(模块CordovaLib)上设置了以下compileOptions,如下所示:
我在Eclipse中打开了maven项目。但当我做清洁和安装,我得到以上的错误。 我将构建路径改为使用SE1.8,我的编译器也配置为使用1.8。您可以在下面的屏幕截图中看到这一点。 我在project explorer中也看到了小红叉。你可以在下面的图片中看到这一点。 我不确定为什么maven在Eclipse中配置为使用1.8时使用SE1.7。
知道为什么会这样吗?任何线索。 PS:在Stack中有几个类似的问题,但没有一个解决这个问题。请理解问题之前,您标记复制。
我正在尝试构建一个使用lambda表达式的Kafka Streams应用程序。 我的maven构建配置是mvn clean install 我在结尾处添加了org.apache.maven.plugins:maven-compiler-plugin dependency。 我能做些什么来解决这个问题?
我使用maven构建我的项目。 我很困惑--mven看到我使用的是Java8。 pom.xml:
但是下面的代码工作得非常好。你能帮我找出原因吗?