【问题标题】:Lambda does not work .. even though I have JavaVersion.VERSION_1_8 set correctly, do I miss anything?Lambda 不起作用 .. 即使我正确设置了 JavaVersion.VERSION_1_8,我有什么遗漏吗?
【发布时间】:2018-09-30 08:54:41
【问题描述】:

Lambda 不适用于 Android Studio:

这就是我在 gradle 中所拥有的

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

【问题讨论】:

  • 发布完整的堆栈跟踪
  • 你能解决这个问题吗?

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


【解决方案1】:

也许你的 lamba 出了问题,试试这样:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-24
    • 2021-10-04
    • 1970-01-01
    • 1970-01-01
    • 2018-08-20
    • 2023-03-31
    • 1970-01-01
    相关资源
    最近更新 更多