构造函数引用与方法引用类似,不同之处在于方法的名称是new。 我们还可以使用数组类型创建构造函数引用。 例如,如果我们需要使用构造函数引用 int []::new 创建一个整数数组,其中参数是数组的长度。
ArrayTypeName[]::new
@FunctionalInterface interface ArrayCreator { int[] makeArray(int number); } public class ArrayConstructorRefTest { public static void main(String[] args) { ArrayCreator arrayCreator = int[]::new; // 数组的构造函数引用 int[] intArray = arrayCreator.makeArray(10); for(int i = 0; i < intArray.length; i++) { intArray[i] = i * i - i / 2; System.out.println("[" + i + "] = " + intArray[i]); } } }
输出结果
[0] = 0 [1] = 1 [2] = 3 [3] = 8 [4] = 14 [5] = 23 [6] = 33 [7] = 46 [8] = 60 [9] = 77