Java中如何为数组创建构造函数引用

构造函数引用与方法引用类似,不同之处在于方法的名称是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