Нарушения Sonarlint для поставщиков гуавы, используемых с Memoize - PullRequest
0 голосов
/ 03 апреля 2019

Я использую Guava Suppliers, чтобы запоминать и перезагружать некоторые данные после определенного времени, некоторые в моем классе. Недавно sonarlint начал генерировать предупреждение с сообщением типа «Функции Java 8 должны быть предпочтительнее Guava (squid: S4738)».

Может кто-нибудь сказать мне, что я могу использовать Java-поставщик здесь для достижения той же функциональности?

Пример кода

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

1 Ответ

2 голосов
/ 06 апреля 2019

Используйте import java.util.function.Supplier вместо com.google.common.base.Supplier.

Supplier в Guava расширяет Supplier в Java, поэтому его можно использовать безопасно.

...