方法引用--数组的构造方法

        //方法引用(数组的构造方法)
        //格式:数据类型[]::new
        //目的:创建一个指定类型的数组

        //将集合中存储的元素,收集到数组中
        ArrayList<Integer> list=new ArrayList<>();
        Collections.addAll(list,1,2,3,4,5);
        /*Integer[] array = list.stream().toArray(new IntFunction<Integer[]>() {
            @Override
            public Integer[] apply(int value) {
                return new Integer[value];
            }
        });
       */
        //数组的类型,需要跟流中数据的类型保持一致
        Integer[] array = list.stream().toArray(Integer[]::new);
        System.out.println(Arrays.toString(array));

 

 

构造方法引用是用来引用类的构造方法的一种方式,可以简化代码,提高代码的可读性。数组构造方法引用则是构造方法引用的一种特殊形式,用于引用数组构造方法。 举个例子: 1. 构造方法引用 假设有一个Person类,它有一个构造方法如下: ``` public Person(String name, int age) { this.name = name; this.age = age; } ``` 现在我们想要创建一个Person对象,可以使用构造方法引用来简化代码,如下所示: ``` Function<String, Integer, Person> personCreator = Person::new; Person person = personCreator.apply("Tom", 20); ``` 这里的personCreator是一个函数式接口,它的apply方法接收两个参数,分别是String和Integer类型,返回一个Person对象。我们使用Person::new来引用Person类的构造方法,然后将personCreator.apply("Tom", 20)的结果赋值给person,从而创建了一个名为Tom,年龄为20岁的Person对象。 2. 数组构造方法引用 假设我们需要创建一个长度为10的int数组,可以使用数组构造方法引用来简化代码,如下所示: ``` IntFunction<int[]> arrayCreator = int[]::new; int[] array = arrayCreator.apply(10); ``` 这里的arrayCreator也是一个函数式接口,它的apply方法接收一个int类型的参数,返回一个int数组。我们使用int[]::new来引用int数组构造方法,然后将arrayCreator.apply(10)的结果赋值给array,从而创建了一个长度为10的int数组
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梧桐小玉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值