构造方法引用和数组构造方法引用举个例子
时间: 2024-05-02 19:21:10 浏览: 4
构造方法引用是用来引用类的构造方法的一种方式,可以简化代码,提高代码的可读性。数组构造方法引用则是构造方法引用的一种特殊形式,用于引用数组的构造方法。
举个例子:
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数组。