小编xzw*_*ppy的帖子

为什么 kotlin lambda 反编译为 java 代码是 (Function0)null.INSTANCE

当我在类中声明一个属性时:

class xx{
    var b:()->Boolean={false}
}
Run Code Online (Sandbox Code Playgroud)

然后反编译如下:

......

public xxx() {
    this.b = (Function0)null.INSTANCE;
}

......
Run Code Online (Sandbox Code Playgroud)

(Function0)null.INSTANCE 代表什么?我认为这将是 :

this.b= new Function0() {
        public final Object invoke() {
                 return false;
         }
};
Run Code Online (Sandbox Code Playgroud)

但它没有,为什么?

谢谢!

java lambda kotlin

5
推荐指数
1
解决办法
763
查看次数

标签 统计

java ×1

kotlin ×1

lambda ×1