31Java 8函数式编程

函数式编程 强调的是做什么 而不是怎么做

Lambda表达式的标准格式

​ 重写接口中抽象方法
​ (参数列表)->{一些代码}
​ 一些参数 一个箭头 一些代码

Lambda表达式的省略格式与规则

1. 小括号中的参数类型可以省略
2. 括号中如果是一个参数  括号可以省略
3. 大括号中如果只有一句话 那么 不管有没有 返回值 retun关键字 {} ; 都可以省略,必须一起省略

Lambda的两项使用前提

1. 函数式接口  有且只有一个抽象方法的接口
2. 可以上下文推导  

Supplier函数式接口

Supplier接口用于生产数据,接口指定什么类型,就会调用get方法生产什么类型的数据返回

Consumer函数式接口

Consumer接口是一个消费型接口,指定接口是什么泛型,accept方法就会消费什么类型的数据
传递什么指定的类型的数据,想怎么消费数据都可以,看心情

Function函数式接口

Function<T,R>用来进行类型转换,可以根据一个类型的数据得到另一个类型的数据
常用的方法:
R apply(T t),根据类型T的参数获取类型R的结果。
使用的场景例如:将String类型转换为Integer类型。

Predicate函数式接口

Predicate对某种类型的数据进行判断,从而得到一个boolean值结果。
常用的方法:

boolean test(T t),用来对指定泛型类型的数据进行判断

符合条件,方法返回true;不符合条件,就返回false

方法引用符 ::

练习
使用函数式重构代码
自定义函数式接口
函数式Comparator

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注