java8函数式接口 Supplier

java8函数式接口 Supplier
函数式接口(Functional Interface)是JDK 8中新增的特性,其实也是lambda表达式编程模式中的一个很重要的构成。我们先看看什么是函数式接口。
函数式接口:有且只有一个抽象方法的接口,为函数式接口。除此限制之外,函数式接口仍然遵循接口的其他基本设计原则,比如允许声明static属性、static方法,也允许有默认方法等

其简单用法如下:

//用来获取两个User对象
Supplier supplier = User::new;
    User user1 = supplier.get();
    user1.setAge(12);
    user1.setName("zhangsan");
    System.out.println(user1);
    System.out.println(supplier.get());
    System.out.println(supplier.get());

另一种写法如下:

//返回两个不同的结果

        Supplier supplier1 = () -> new User();
        System.out.println(supplier1.get());
        System.out.println(supplier1.get());
    //表示用来返回两个Book对象
    User user = new User();
    Supplier supplier2 = user::supplier;
    System.out.println(supplier2.get().toString());
    System.out.println(supplier2.get().toString());

Original: https://www.cnblogs.com/haizhilangzi/p/12790185.html
Author: 海之浪子
Title: java8函数式接口 Supplier

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/581074/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 系统调用跟踪——ls功能实现(二)

    在上篇文章中我们跟踪 ls命令看到了其所使用的这么几个系统调用: stat、openat、fstat、getdents、close、write等,这里再简单介绍下这几个系统调用的功…

    Java 2023年6月16日
    079
  • java int类型底层存储&原码&反码&补码

    java的int类型 Java的原始类型里没有无符号类型,c语言int类型表示有符号整型,unsigned int无符号整型 int占4个字节,每个字节8位,占32位,取值范围 -…

    Java 2023年5月29日
    053
  • 面试官:你说你精通Redis,你看过持久化的配置吗?

    前边我们已经介绍了 Redis 五种数据类型的命令与 配置文件的基本配置,今天让我们从理论和配置两个层面来揭开 Redis持久化的神秘面纱。 所谓持久化可以简单理解为将内存中的数据…

    Java 2023年6月5日
    063
  • Redis缓存更新策略

    Redis缓存更新策略 本文整理自黑马程序员相关资料 内存淘汰 超时剔除 主动更新 说明 不用自己维护,利用Redis的内存淘汰机制,当内存不足时自动淘汰部分数据。下次查询时更新缓…

    Java 2023年6月8日
    0128
  • 企业微信第三方应用(二)api使用测试

    api使用 一、获取ticket 服务商后台-应用管理-应用详情-刷新ticket企业微信每15分钟会自动刷新一次ticket,调用指令回调配置的接口 二、获取第三方应用凭证 作用…

    Java 2023年6月7日
    080
  • 57.如果有一天我变得很有钱

    dsfds posted @2022-09-28 08:32 随遇而安== 阅读(7 ) 评论() 编辑 Original: https://www.cnblogs.com/55z…

    Java 2023年6月7日
    070
  • MybatisPlus自动填充公共字段的策略

    背景:数据库中多个表有时间字段,并且字段名一致 需求:该时间字段由MybatisPlus自动插入和更新,业务代码无需处理 方法: 一、创建基础实体【BaseEntity】,定义需要…

    Java 2023年6月8日
    077
  • 如何用同一套账号接入整个研发过程?

    前言 “君子和而不同,小人同而不和。”– 孔子 我们认为,对于任何一个有研发诉求的企业,账号体系都是需要尽早考虑、慎重对待,且不应该随意变更的。…

    Java 2023年6月8日
    074
  • 如何查看和结束占用的端口

    很多时候,我们启动idea的服务都会出现端口给占用的情况,导致项目跑不起等情况! 或者是SQL服务器’80’给占用。 方法: 查看占用端口: 开始&#821…

    Java 2023年6月9日
    069
  • 报错One record is expected, but the query result is multiple records

    总结:出现这种情况,显而易见,就是查询的数据在数据库中不止一条,而我调用的selectOne方法,返回值是一个User对象,导致报错 点击查看错误代码 LambdaQueryWra…

    Java 2023年6月15日
    068
  • 探秘Java虚拟机——内存管理与垃圾回收

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt106 1、Java虚拟机运行时的数据区 2、常用的内存区…

    Java 2023年5月29日
    074
  • DOM

    DOM 所谓DOM是给文档中的每一个标签都对应的创建一个对象。 在JS中默认就会为页面的所有的标签创建一个对应的对象模型。我们可以通过对应的API获取这些对象模型,通过这些对象模型…

    Java 2023年6月7日
    082
  • ruoyi-plus-server(一):引入Mybatis-Plus

    四、project目录下新建demo模块 1、数据库脚本 2、目录结构 ①Demo ②DemoMapper ③DemoService ④DemoServiceImpl ⑤DemoC…

    Java 2023年6月8日
    056
  • 正则表达式在Java中的使用

    正则表达式在Java中的使用不仅限于String类中的match()方法!!! 正则中的^与$ 首先我们来了解这两个符号在正则表达式中的作用: ^ 符号放在表达式头部表示开始匹配$…

    Java 2023年6月14日
    058
  • 原来你是这样的JAVA[06]-反射

    1.JVM为每个加载的class及interface创建了对应的Class实例来保存class及interface的所有信息;获取一个class对应的Class实例后,就可以获取该…

    Java 2023年5月29日
    038
  • spring-MVC

    步骤 1.创建maven父项目 导入公共依赖 junit junit 4.12 org.springframework spring-webmvc 5.1.9.RELEASE ja…

    Java 2023年6月7日
    068
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球