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()
);