该@H_502_1@supplier接口只是一个无参数函数的抽象,该函数返回一个值…这是 获取某个对象的某些实例的一种方法 。由于它是如此通用,因此可以用于许多事物。Jared解释了@H_502_1@Multimaps工厂如何将其用作工厂来创建@H_502_1@Collection值的某种类型的新实例。
鉴于界面的简单性,它还可以@H_502_1@supplier通过将a 的行为包装在@H_502_1@supplier某种程度上改变其行为的行为中,对a 的行为进行非常强大的修饰。记忆化就是一个例子。我自己使用该@H_502_1@suppliers.memoizeWithExpiration方法是一种简单的方法,因此在给定的时间内,某些数据最多只能从服务器读取一次。
我还建议您看看Guice以及如何在其中@H_502_1@Provider使用该接口。与Guice的工作@H_502_1@Provider方式完全相同@H_502_1@supplier且至关重要。