Lambda表达式
从今天开始写博客
今天学习了Java的基础增强部分,Lambda表达式,注解,
**Lambda表达式:
Lambda表达式能干什么**
将接口的实现方式重匿名内部类的形式简化为了一个函数式表达式方式
简化接口实现.
语法:
(形参参数) -> 表达式 或{方法体};
void show();
() -> {System.out.println("我是Lambda表达式")};
1.形参列表
形参列表允许省略参数类型,若形参列表中只有一个参数,形参列表的原括号也可以省略
ps:形参列表 对应的是 接口中所需要实现方法的 形参列表
void show(int a, int b);
void display(int c);
(int a,int b) -> {实现};
(int a) -> {实现};
a -> {实现};
----------
2.箭头(->)
必须是英文状态下的符号 减号(-) + 大于号(>) 指向实现代码块
3.代码块:
若代码块只包含一条语句,Lambda表达式允许允许省略花括号
若Lambda表达式中只有一条return,可以省略return关键字
若Lambda表达式中有多条语句(实现方法的逻辑)不能省略大括号
ps:Java中Lambda表达式的结合需要和接口完成
若在Lambda表达式中引用了静态方法或成员方法时 只有一句话 ,可以使用 :: 形式进行简化
:: 之前 是这个方法主要的调用发起者 类/对象
:: 之后 静态方法/成员方法
ps:一定要主要 方法后面千万不要传入参数
调用方法的参数,会通过接口中方法的参数进行传递