1. 程式人生 > 實用技巧 >方法引用_陣列的構造器引用

方法引用_陣列的構造器引用

package com.chunzhi.Test10ArrayMethodReference;

import java.util.Arrays;

/*
    陣列的構造器引用
 */
public class Test {
    /*
        定義一個方法
        方法的引數傳遞建立陣列的長度和ArrayBuilder介面
        方法內部根據傳遞的長度使用ArrayBuilder中的方法建立陣列並返回
     */
    public static int[] creatArray( int length, ArrayBuilder ab) {
        return
ab.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);
}