Java8的新特性-----Lambda表达式

一、Lambda表达式

                定义:  Lambda表达式就是缩写匿名内部类,允许把一个函数作为方法的参数进行传递,Lambda表达式使代码变得更                                 加简洁和紧凑。

                基本语法:<函数式接口> <变量名> = (参数1,参数2......)-> { 方法体 }

                       实例1:

                                     

                      实例2:

             使用Lambda表达式有什么作用?

                           个人理解:有类似于方法重载的作用。实现代码的复用性

                            

                            使用Lambda表达式之后:

                             

                             

                             调用方法:

                             

               使用Lambda表达式注意事项:

                             1、-> 操作符        将表达式分成了两部分;

                                     左侧 :(参数1,参数2......)参数列表,当只有一个参数的时候,括号可以省略;

                                     右侧:    {}内部是方法体;如果执行语句只有一条,没有返回值,{}可以省略,如果有返回值,也可以不                                                     写{} 但return也必须省略。

                             2、形参的数据类型会自动推断,不用写;

                             3、Lambda不会自动生成单独的内部类文件。

                             4、Lambda若访问局部变量,则局部变量一定是final修饰的,如果不是,系统会自动添加,但不能修改,否则                                    编译报错

                函数式接口:

                              定义:一个接口只有一个抽象方法。

                              为了确保你的接口一定达到这个要求,你只需要给你的接口添加 @FunctionalInterface 注解,编译器如果发                                   现你标注了这个注解的接口有多于一个抽象方法的时候会报错的。

                              四个核心式函数接口:

函数式接口参数类型返回类型说明
Consumer<T> 消费型接口Tvoidvoid accept(T t);对类型为T的对象应用操作
Supplier<T> 供给型接口TT get(); 返回类型为T的对象
Function<T,R> 函数型接口TRR apply(T t);对类型为T的对象应用操作,并返回类型为R类型的对象。
Predicate<T> 断言型接口Tboolean

boolean test(T t);确定类型为T的对象是否满足条件,并返回boolean类型。

                             

 

 

 

 

                            

                           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值