Lambda表达式的基本语法

一:简介

        在java8中引入了一个新的操作符,“->”,这个操作符箭头操作符或者Lambda操作符,并且箭头操作符
        将Lambda表达式拆分为两部分。
        a:箭头左侧为Lambda表达式的参数列表
        b:箭头右侧为Lambda表达式的Lambda体,就是表达式中所需要执行的功能

二:语法对应简单例子实现

        1:无参数,无返回值的例子对比:一个是java8以前的写法,一个是java8的写法
               
               效果:
                  
         2:使用Consumer演示,有一个参数,无返回值的例子
              
              
             效果:
                 
             如果只有一个参数,小括号可以不写
             
     3:有多个参数,有返回值,并且Lambda体中存在多条语句
           
          效果:
            
          如果Lambda体中,只有一条语句,return和大括号都可以不写
            
    4:Lambda表达式的参数列表的数据类型可以省略不写,因为JVM编译器可以通过上下文推断出
         数据类型。
         
  5:什么叫做函数式接口?
        接口中只有一个抽象方法的接口,叫做函数式接口。
        可以使用@FunctionalInterface注解检查是否是函数式接口。
         
       ⑴下面我们创建一个函数式接口的例子
          
          
         效果:
            
            

6:练习

        :⑴:通过Collections.sort()方法,通过定制排序比较两个Employee(先按年龄比,年龄相同按姓名比),
             使用Lambda作为参数传递。
             
             效果:
               
        ⑵:要求如下
              a:申明函数式接口,接口中申明抽象方法:public String getValue(String str);
              b:申明类TestLambda,类中编写方法使用接口作为参数,将一个字符串转换为大写,
                    并且作为方法的返回值
              c:再将一个字符串的第二个和第四个的索引位置进行截取子串
              ①接口
                   
               ②方法以及测试类
                   
                   效果:
                    
        ⑶:要求如下
               a:申明一个带两个泛型的函数式接口,泛型类型为<T,R>,T为参数,R为返回值
               b:接口中申明对应抽象方法
               c:在TestLambda类中申明方法,使用接口作为参数,计算两个Long型参数的和
               d:再计算两个Long型参数的乘积
               
               
              效果:
                 

上一篇:JAVA8新特性之入门简介

下一篇:JAVA8新特性之四大内置核心函数式接口

文章目录

             
              
              
             

 
             


             

猜你喜欢

转载自blog.csdn.net/K_520_W/article/details/82916336