方法引用_陣列的構造器引用
阿新 • • 發佈:2020-12-05
package com.chunzhi.Test10ArrayMethodReference; import java.util.Arrays; /* 陣列的構造器引用 */ public class Test { /* 定義一個方法 方法的引數傳遞建立陣列的長度和ArrayBuilder介面 方法內部根據傳遞的長度使用ArrayBuilder中的方法建立陣列並返回 */ public static int[] creatArray( int length, ArrayBuilder ab) { returnab.builderArray(length); } public static void main(String[] args) { // 呼叫createArray方法,傳遞陣列的長度和Lambda表示式 int[] arr01 = creatArray(10, (int len) -> { // 根據陣列的長度,建立陣列並返回 return new int[len]; }); System.out.println(arr01.length); // 10 /*使用方法引用優化Lambda表示式 已知建立的就是int[]陣列 陣列的長度也是已知的 就可以使用方法引用 int[]引用new,根據引數傳遞的長度來建立陣列 */ int[] arr02 = creatArray(5, int[]::new); System.out.println(Arrays.toString(arr02)); // 輸出陣列的內容:[0, 0, 0, 0, 0] System.out.println(arr02.length); //5 } }
package com.chunzhi.Test10ArrayMethodReference; /* 定義一個建立陣列的函式式介面 */ public interface ArrayBuilder { // 定義一個建立int型別陣列的方法,引數傳遞陣列的長度,返回建立好的int型別陣列 int[] builderArray (int length); }