java8新特性之lambda表达式的应用

lambda表达式的基础语法

java8引入了一个"->"箭头操作符,也叫做lambda表达式。箭头操作符将Lambda表达式拆分成两部分。

格式

  • 左侧:Lambda表达式的参数列表
  • 右侧:Lambda表达式的所执行的功能,即Lambda体。
  • 1、语法格式一:无参数列表,无返回值
  •          () -> system.out.println();
    
  • 2、语法格式二:有一个参数,无返回值
  •          (x) -> system.out.println(x)
    
  • 3、语法格式三:若只有一个参数,无返回值,小括号可以不写
  •          x -> system.out.println(x)
    
  • 4、语法格式四:有两个以上的参数,有返回值,并且输出多条语句。
  •           Comparator<Integer> c1 = (x,y) -> {
                 System.out.println("函数式接口");
                return Integer.compare(x,y);
           };
    
  • 5、语法格式五:若Lambda表达式只有一条语句,则return和大括号都可以不写。
  •          Comparator<Integer> c2 = (x,y) -> Integer.compare(x,y);
    
  • 6、Lambda表达式的参数列表的基本数据类型可以省略不写,因为JVM编译器可以通过上下文推断出。
  •          List<String> list = new ArrayList<>();
    

Lambda需要函数式接口的支持

函数式接口:接口中只有一个抽象方法,就称为函数式接口。

  1. 测试
public static void main(String[] args) {
      //Runable接口无参数列表,无返回值  原生的写法
      Runnable a = new Runnable() {
          @Override
          public void run() {
              System.out.println("你好");
          }
      };

     //格式一测试:
     Runnable r = () -> System.out.println("你好!");

     //格式二:

      Consumer<String> c = (x) -> System.out.println(x);
      c.accept("你好!");

      //格式四:
      Comparator<Integer> c1 = (x,y) -> {
          System.out.println("函数式接口");
          return Integer.compare(x,y);
      };

      //格式五:
      Comparator<Integer> c2 = (x,y) -> Integer.compare(x,y);
  }
      //格式六
  	List<String> list = new ArrayList<>();

今天又是愉悦的一天,每天进步一点点。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个在努力为老板实现梦想的搬砖工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值