黑猴子的家:Java 8 -> 数组引用

1、格式
type[]::new
2、小样
//Lambda表达式
Function fun = (n) -> new Integer[n] ;

//数组引用
Function fun = (n) -> Integer[]::new;
3、案例
package com.yinggu.demo9;
import java.util.function.Function;
import org.junit.Test;

 * @author 黑猴子的家 
 * https://www.jianshu.com/u/37fd8e2dff4c
 * 
 * 此类用于演示数组引用
 * 特点:
 *          代替一部分具有特殊 要求的Lambda 表达式
 * 要求:
 *          1.方法的实现中仅仅只有一个return语句
 *          2.return 的只能是 一个数组对象
 *          3.函数式接口的抽象方法的参数列表=数组参数类型+数组类型
 * 
 * 语法:
 *          数组类型[]::new

public class TestArrayRef {
      @Test 
      public void test1() {
            //Lambda
            Function fun = (i) -> new Integer[i];
            //数组引用
            Function fun2 = Integer[]::new;
            //Lambda
            Function fun3 = (i) -> new String[i];
            //数组引用
            Function fun4 = String[]::new;
      }
}

你可能感兴趣的:(黑猴子的家:Java 8 -> 数组引用)