vlambda博客
学习文章列表

4.原来这就是函数式接口!

哈喽 大家早上好,今天我又来了

经过前几天的学习 我们应该都简单使用了一些方法,可是通过看他们的一些方法我们会发现有许多奇奇怪怪的参数



这些奇怪的参数这就是我们今天要说的函数式接口


什么是函数式接口



表示有且只有一个抽象方法,但是可以有很多非抽象方法

函数式接口可以被隐式转换为 lambda 表达式。



四大函数式接口



 1.接受T类型没有返回值

@FunctionalInterfacepublic interface Consumer<T> {

 案例:

//将user的name打印Consumer<User> uc = u -> System.out.println(u.getName());



2.接受一个参数,返回结果为true或者false

@FunctionalInterfacepublic interface Predicate<T> {

案例:

 // 判断user是否存在name  Predicate<User> up = u -> !u.getName().isEmpty();



3.接受T类型参数返回R类型数据

@FunctionalInterfacepublic interface Function<T, R> {

案例:

//接受user类型返回string类型Function<UserStringuft = u -> u.getName();



 4.不接受参数,返回T类型数据

@FunctionalInterfacepublic interface Supplier<T> {

案例:

 //直接返回类型 Supplier supplier = ()->{return 1024;};

没啥说的,多用多练!


点击查看往期内容回顾




果咩z 发起了一个读者讨论 所以你们知道啥是函数式接口了吗