Supplier persionSupplier = Person::new;
Arrays.asList(“a”,“b”,“c”).forEach(e->System.out.println(e));
在Java8中增加的接口Supplier,最适合用于表示工厂。带有Supplier的方法,通常应该限制输入工厂的类型参数使用有限制的通配符类型,以便客户端能够传入一个工厂,来创建指定类型的任意子类型。
应该将这些资源或者工厂传给构造器(或者静态工厂、或者构建器),通过他们来创建类。这个实践就被称做依赖注入,它极大地提高了类的灵活性、可重用性和可测试性。
简而言之,Supplier就是用来创建对象的,相当于new。
2、代码实例
package com.guor.effective.chapter2.java8;
import java.util.function.Supplier;
public class TestSupplier {
private int age;
public static void test(){
System.out.println(“Java8新特性,Supplier”);
}
TestSupplier(){
System.out.println(“构造函数,age,”+age);
}
public static void main(String[] args) {
//创建Supplier容器,声明为TestSupplier类型,此时并不会调用对象的构造方法,即不会创建对象
Supplier sup= TestSupplie