二、Kotlin 中使用 Lambda 表达式替代对象表达式原理
----
1、Lambda 替换对象表达式
在使用 Kotlin 开发时 , 经常遇到这种情况 , 最后一个函数是匿名内部类 , 匿名内部类中只实现了一个函数..., 此时使用 Lambda 表达式替代该 匿名内部类 ;
如 : 为按钮添加点击事件 , 对应的 Java 代码是
button.setOnClickListener(new View.OnClickListener...}
}
Lambda 表达式 其本质 就是 函数类型 的 匿名对象 , 也是一个实例对象 , 在堆内存中分配相应的空间 ;
在下面的代码中 , 使用 对象表达式 创建了匿名对象 , 该匿名类实现了 View.OnClickListener...*/
void onClick(View v);
}
下面是 IntelliJ IDEA 中 , 为 View 组件设置 点击事件 时 , 输入 setOnClickListener...Lambda 表达式 , 会自动为其创建 OnClickListener 接口对应的匿名内部类 ,
并且将该 Lambda 表达式作为该匿名内部类的函数实体 ;
如果 传入的 Lambda 表达式类型