与记忆一起使用的番石榴供应商的声纳林特违规行为



我正在使用番石榴供应商在我的班级中的固定时间后记忆和重新加载一些数据。 最近,sonarlint 开始生成警告,并显示诸如"Java 8 功能应优先于 Guava (squid:S4738("之类的消息。

谁能告诉我我实际上可以以任何方式在这里使用 Java 供应商来实现相同的功能?

代码示例

private final Supplier<Set<Integer>> cache = Suppliers.memoizewithExpiration(fetchData(), 1, TimeUnit.DAYS);

使用 import java.util.function.Supplier 而不是 com.google.common.base.Supplier

Guava的Supplier扩展了Java的Supplier,因此使用起来很安全。