即使我正确设置了JavaVersion.VERSION_1_8,Lambda也无法正常工作。我会错过任何东西吗?

时间:2018-09-30 08:54:41

标签: android android-studio android-gradle android-debug

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版本: Java版本 Java版本“ 1.8.0_121” Java(TM)SE运行时环境(内部版本1.8.0_121-b13) Java HotSpot(TM)64位服务器VM(内部版本25.121-b13,混合模式)

1 个答案:

答案 0 :(得分:1)

也许您的兰巴出了问题,请尝试以下操作:

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