guava_ch

Using the Supplier interface

Supplier接口如下所示,只有一个方法:

public interface Supplier<T> {
    T get();
}

get方法只会放回类型T的实例。Supplier 接口帮助我们实行集中典型的建立模式。 当调用到get时,我们可以一直返回一个相同的实例(单例)或每次调用都返回一个新的实例。Supplier接口同样让我们可以灵活的使用懒实例化,调用了get方法才构造出实例。当然,因为Supplier是一个接口,与其他创建对象的方式(例如,静态工厂方法)相比,使用单元测试会更容易。简而言之,Supplier的好处是,他抽象了复杂性和对象如何被建立的细节,使得开发人员无须以他们自己感觉最佳的方式建立对象。