函数式接口

  1. 函数式接口
    1.1 概述
    如果说一个接口内有且只有一个方法,而且该方法是一个 缺省属性为public abstract方法,该接口可以称之为是一个 函数式接口。
    自定义函数式接口,还有系统中提供的函数式接口
    Comparator Runnable
    可以直接理解JDK1.8的新特征,Lambda表达式来使用。
    Lambda表达式对比匿名内部类使用
    1. 简化了代码结构
    2. 节约了内存资源
    3. 让程序员更加关注,我要做什么,而不是为了做 什么需要完成什么
    1.2 @FunctionalInterface 使用
    使用@FunctionalInterface检查函数式接口格式问题,要求当前接口中有且只有一个缺省属性为public abstract的方法
    1.3 使用自定义的函数式接口作为方法的参数使用
    代码中使用函数式接口
    1. 让程序的目的性更强
    2. 提供复用,普适性的价值 3. 节约资源
  2. 函数式编程思想
    2.1 Lambda延迟执行
    2.1.1 日志记录
    日志是否保存会存在等级限制
    演示一个根据不同的等级来记录log日志
    要求: 等级 == 1 记录log日志,其他情况不记录
    2.1.2 使用函数式接口提供日志信息功能
    这里需要一个函数式接口,返回值类型是String类型,其他 的无所谓。
    2.2 Lambda作为方法参数和返回值
    参数演示: Runnable接口
    Java中提供的比较接口Comparator
    利用一些返回值作为方法中操作的调节
    public interface Comparator {
    int compare(T o1, T o2);
    }
  3. Java中提供的常用函数式接口
    3.1 JDK常用函数式接口概述
    java.util.function包名 。提供了很多函数式接口
    规范了一些操作,提升了开发效率,更加专注于目的 性!!!
    Supplier 生产者, 返回一个指定类型的数据
    Consumer 消费者, 消耗一个指定类型的数据
    Predicate 判断调节,过滤使用
    Function<T,R> 类型转换,根据你指定的类型T, 转换 成对应类型R
    3.2 Supplier 生产者,返回一个指定的数据类型
    java.util.function.Supplier
    有且只有一个方法
    T get();
    不需要参数,返回指定T类型数据
    什么都不吃,挤的都是输出。。。
    3.3 Consumer消费者,处理数据
    Consumer
    操作使用的方式是
    void accept(T t);
    根据接口指定的数据类型接收对应数据,进行处理 和消费,对外没有任何的返回
    至于处理的过程,展示,处理,计算。。。
    andThen
    3.4 Predicate 判断数据是否合适,返回true/false
    Predicate一般用于调节判断,过滤数据的方法
    函数式接口中指定的方法 boolean test(T t);
    处理T类型数据,返回boolean true / false
    3.5 Function<T,R> 类型转换
    使用R apply(T t) 转换指定类型T到R
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值