【发布时间】:2016-02-11 05:18:53
【问题描述】:
guava 库有它自己的 Supplier,它不扩展 Java 8 Supplier。 guava 还为供应商提供了缓存 - Suppliers#memoize。
有没有类似的东西,但对于 Java 8 供应商?
【问题讨论】:
-
不完全是,但您可以在 j.u.f.Suppliers 和 c.g.c.b.Suppliers 之间轻松转换,只需在末尾写
::get。 -
正如@LouisWasserman 建议的那样,您可以通过基本上执行“return Suppliers.memoize(delegate::get)::get;”为番石榴 Suppliers::memoize 制作一个包装器
-
Suppliers.memoize 没有进入 jdk8 标准库绝对是一个遗憾,考虑到它对我来说似乎是一个非常低风险的补充。