java基础day25

Day25
一、Lambda表达式

1、是对匿名内部类对象的一种简化写法
2、java8中引入了一个新的操作符”->”,叫做箭头操作符,Lambda操作符
3、箭头操作符,将表达式分隔成两部分
4、左边:表示的Lambda表达式的参数列表
5、右边:表示的是方法的方法体,Lambda体
6、语法格式1:没有参数,也没有返回值
() -> System.out.println(“Hello Lambda”);
7、语法格式2:有一个参数,没有返回值
(x)->System.out.println(x);

说明:如果只有一个参数,那么前面的小括号可以不写  

x -> System.out.println(x);

8、语法格式3:有两个参数,没有返回值
(x, y) -> System.out.println(x + “…” + y);
9、语法格式4:lambda体有多句,需要在多句话外面加上大括号

x -> {
 	System.out.println(x);
 	System.out.println(x + “...”);
}

10、语法格式5:如果Lambda体只有一句,那么大括号和return关键字都可以省略:x -> x * x;
11、注意事项:

  • 使用lambda表达式的前提条件:接口中只有一个抽象方法
  • 如果在一个接口中只有一个抽象,称这种接口为:函数式接口
  • 使用注解:@FunctionalInterface,检查当前接口是否是函数式接口。
二、函数式接口概述

1、lambda表达式使用的前提,就是接口必须是一个函数式接口。
2、函数式接口:在接口中,如果只有一个方法,那么这种接口就是函数式接口
3、用注解来检查当前的接口是否是函数式接口:@FunctionalInterface如果不是函数式接口,就编译报错
4、作用:

  • 想表达的是一个方法的内容,需要把这个方法传递到其他需要这个方法的位置
  • Java中不能将方法当做一个数据,不能作为方法的参数进行传递,也不能作为对象的成员变量存在。
  • 只能在方法外加一层接口的声明
5、常用内置函数式接口

1、Consumer :消费型接口,void accept(T t);
2、Supplier :供给型接口,T get();
1、Function<T, R>:函数型接口,R Apply(T t);
2、Predicate:断言型接口,boolean test(T t);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值