Lambda表达式
Lambda表达式:
“匿名类的一个问题是,如果匿名类的实现非常简单(例如仅包含一个方法的接口),则匿名类的语法可能看起来笨拙且不清楚。在这些情况下,您通常试图将功能作为参数传递给另一种方法,例如,当某人单击按钮时应采取什么措施。 Lambda表达式使您能够执行此操作,将功能视为方法参数,或将代码视为数据”
这是Lambda表达式的文档解释,简单的来说就是简化匿名内部类
只能简化有函数接口的匿名内部类
通俗点说,Lambda表达式是用来简化函数接口的表达式
简化了什么呢?
- 无参可以简化接口名和函数名
- 带着参数可以简化参数类型
例子:
没有参数时
1 | //创建Runnable对象 |
当函数体表达式有多行的时候,可以用{}来在里面写
1 | //开启线程 |
带有参数的时候
一般来说,带有参数的时候省略参数的类型,只写参数的名称
1 | View.OnClickListener listener = view->{ |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.