首页 > 编程语言 >Java常用新特性之“构造器引用”和“数组引用”

Java常用新特性之“构造器引用”和“数组引用”

时间:2024-04-02 19:30:54浏览次数:35  
标签:Function Java fun2 引用 数组 apply Employee new public

1. 构造器引用

1.1 格式:
类名 :: new

1.2 说明:

  • 构造器引用在执行时,会调用指定的类的构造器,创建其对象。
  • 具体调用的是哪个形参列表的构造器呢?取决于函数式接口的抽象方法的形参列表。此抽象方法的形参列表与
    要调用的构造器的形参列表相同。
  • 调用指定构造器后,创建的对象作为函数式接口的抽象方法的返回值。
	//构造器引用
    //Supplier中的T get()
    @Test
    public void test1(){
        //1.
        Supplier<Employee> sup1 = new Supplier<Employee>() {
            @Override
            public Employee get() {
                return new Employee();
            }
        };

        //2.
        Supplier<Employee> sup2 = () -> new Employee();

        //3.
        Supplier<Employee> sup3 = Employee::new;
        System.out.println(sup3.get());
    }

	//Function中的R apply(T t)
    @Test
    public void test2(){
        //1.
        Function<Integer,Employee> fun1 = new Function<Integer, Employee>() {
            @Override
            public Employee apply(Integer id) {
                return new Employee(id);
            }
        };

        //2.
        Function<Integer,Employee> fun2 = Employee :: new;

        System.out.println(fun2.apply(12));
    }

	//BiFunction中的R apply(T t,U u)
    @Test
    public void test3(){
        BiFunction<Integer,String,Employee> fun1 = new BiFunction<Integer, String, Employee>() {
            @Override
            public Employee apply(Integer id, String name) {
                return new Employee(id,name);
            }
        };

        BiFunction<Integer,String,Employee> fun2 = Employee :: new;
    }

2. 数组引用

格式: 数组元素类型[] :: new

//数组引用
    //Function中的R apply(T t)
    @Test
    public void test4(){
        //1.
        Function<Integer,int[]> fun1 = new Function<Integer, int[]>() {
            @Override
            public int[] apply(Integer length) {
                return new int[length];
            }
        };

        //2.
        Function<Integer,int[]> fun2 = int[] :: new;
        int[] arr = fun2.apply(3);
        for(int i : arr){
            System.out.println(i);
        }
    }

标签:Function,Java,fun2,引用,数组,apply,Employee,new,public
From: https://blog.csdn.net/weixin_52828297/article/details/137285536

相关文章

  • java计算机毕业设计(附源码)医院新型冠状病毒疫苗接种管理系统(ssm+mysql+maven+LW文档)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义在当今全球疫情的背景下,新型冠状病毒疫苗的接种成为了防控疫情的重要手段。然而,由于疫苗接种人群广泛,且接种过程复杂,需要记录的信息量大,因此,传统的人工管理方式已......
  • java计算机毕业设计(附源码)医院薪酬管理系统(ssm+mysql+maven+LW文档)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在现代医疗体系中,医院作为提供专业医疗服务的核心机构,其运营效率和服务质量直接影响着公众健康和社会福祉。医院薪酬管理系统是确保医疗人员得到合理报酬......
  • java计算机毕业设计(附源码)医院药品管理系统(ssm+mysql+maven+LW文档)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义在当今社会,随着医疗技术的不断发展和人们健康意识的提高,医院药品管理系统的重要性日益凸显。药品管理作为医疗服务的核心环节之一,对于确保患者用药安全、提高医疗......
  • java计算机毕业设计(附源码)医院医疗救助系统(ssm+mysql+maven+LW文档)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着社会的发展和人口老龄化的加剧,医疗救助系统在现代社会中扮演着越来越重要的角色。医院作为医疗救助的主要场所,其系统的完善与否直接关系到广大人民群......
  • 在java开发中平方怎么表示?平方表示的方法有哪几种?
    在java开发中平方怎么表示?平方表示的方法有哪几种?在我们计算一个数的几次方的时候。我们按照课堂中老师的教法就是在一个数的右上角写上一个小小的数字用来表示一个数的几次方,那么大家知道“在java开发中平方怎么表示吗?“和“java中平方表示的方法有哪几种吗?”,那么我们就来看......
  • Java八股--集合(下)
    ......
  • 基于Java NIO 写的一个简单版 Netty 服务端
    ASimpleNettyBasedOnJAVANIO基于JavaNIO写的一个简单版Netty服务端前置知识NIONIO一般指同步非阻塞IO,同样用于**描述程序访问数据方式**的还有BIO(同步阻塞)、AIO(异步非阻塞)同步异步指获取结果的方式,同步为主动去获取结果,不管结果是否准备好,异步为等待结果准......
  • java,postgresql,python中各种数据类型的占位长度,取值范围
    Java数据类型Java中的数据类型分为两类:基本数据类型和引用数据类型。基本数据类型数据类型占位长度取值范围byte1字节-128127short2字节-3276832767int4字节-21474836482147483647long8字节-92233720368547758089223372036854775807float4字节1.4E-453.4028235E38double8字节4.......
  • Mybatis 中 javaType 和 jdbcType 对应关系
      JDBCType             JavaType     CHAR                  String  VARCHAR              String  LONGVARCHAR                Str......
  • [附源码]JAVA计算机毕业设计电子市场计算机配件报价系统(源码+开题)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的快速发展和普及,计算机作为现代人日常生活和工作中的重要工具,其配件市场的需求日益增长。电子市场作为连接供应商与消费者的桥梁,在推动......