Lambda 不起作用 . 即使我JavaVersion.VERSION_1_8设置正确,我错过了什么吗?



Lambda不适用于Android Studio:

这就是我在格拉德尔所拥有的

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

这些是项目设置

ext {
compileSdkVersion = 27
supportLibVersion = '27.1.0'
minSdkVersion = 27
targetSdkVersion = 27

}

此简单代码失败:

button.setOnClickListener( (View x) -> Toast.makeText(
getContext(), "Something", Toast.LENGTH_SHORT)
);

原因,这对我来说没有任何意义:

--------- Cause ---------
java.lang.ClassCastException: Bootstrap method returned null

致命错误:

E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.BootstrapMethodError: Exception from call site #0 bootstrap method

爪哇版本: 爪哇版本 Java 版本 "1.8.0_121" Java(TM( SE 运行时环境(内部版本 1.8.0_121-b13( Java HotSpot(TM( 64-bit Server VM(build 25.121-b13,混合模式(

也许你的兰巴有问题,试试这样:

button.setOnClickListener(v -> Toast.makeText(
getContext(), "Something", Toast.LENGTH_SHORT).show()
);

相关内容

最新更新