Java内置的四大核心函数式接口

java提供的函数式接口放置在java.util.function 下

 

函数式接口

参数类型

返回类型

用途

Consumer<T>

消费型接口

T

void

对类型为T的对象应用操作,包含方法 :

void accept(T t)

Supplier<T>

供给型接口

T

返回类型为T的对象,包含方法 :

T get()

Function<T, R>

函数型接口

T

R

对类型为T的对象应用操作,并返回结果。结果是R类型的对象,包含方法 :

R apply(T t)

Predicate<T>

断定型接口

T

boolean

确定类型为T的对象是否满足某约束,并返回boolean 值。包含方法 :

boolean test(T t)

消费型接口

/**

* 01 Interface Consumer<T> 消费型接口 (一个入参,无返回值)

* 表示接受单个输入参数并且不返回结果的操作。 与大多数其他功能接口不同, Consumer预期通过副作用进行操作。

* 这是一个functional interface的功能方法是accept(Object) 。

*/

Consumer consumer =x-> System.out.println("hello "+x);

//控制台输出 “hello PangHao”

consumer.accept("PangHao");

 

供给型接口

/**

* 02 Interface Supplier<T> 供给型接口

* 代表结果供应商。

* 没有要求每次调用供应商时都会返回新的或不同的结果。

* 这是一个functional interface的功能方法是get() 。

*/

Supplier supplier=()->"返回一个object对象";

Object o = supplier.get();

// 输出 “返回一个object对象”

System.out.println(o);

函数型接口

/**

* 03 Interface Function<T,R> 函数型接口

* T - 函数输入的类型

* R - 函数结果的类型

* 表示接受一个参数并产生结果的函数。

* 这是一个functional interface的功能方法是apply(Object)

*/

Function function= x-> x+"加个字符串";

Object apply = function.apply(3);

//输出 “3加个字符串”

System.out.println(apply);

断定型接口

/**

* 04 Interface Predicate<T> 断定型接口

* 表示一个参数的谓词(布尔值函数)。

* 这是一个functional interface,其功能方法是test(Object)

* 确定类型为T的对象是否满足某约束,并返回boolean 值

*/

Predicate<Integer> predicate=(x)->x>5;

boolean test = predicate.test(9);

// 输出 true

System.out.println(test);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值