Class LazyFunction<K,V>

java.lang.Object
top.magstar.framework.LazyFunction<K,V>
Type Parameters:
K - 键类型
V - 值类型

public class LazyFunction<K,V> extends Object
支持带参数的懒加载

 public class Example {
     private final LazyFunction<String, User> userLoader =
         LazyFunction.of(userId -> loadUserFromDatabase(userId));

     public User getUser(String userId) {
         return userLoader.get(userId);
     }
 }
 
Since:
1.0.0
Version:
1.0.0
Author:
Berry_so
  • Method Details

    • of

      public static <K, V> LazyFunction<K,V> of(Function<K,V> function)
      创建懒加载函数
      Type Parameters:
      K - 键类型
      V - 值类型
      Parameters:
      function - 计算函数,接收键返回值
      Returns:
      懒加载函数实例
    • get

      public V get(K key)
      获取值,如果缓存中不存在则计算
      Parameters:
      key - 键
      Returns:
      对应的值
    • invalidate

      public void invalidate(K key)
      清除指定键的缓存
      Parameters:
      key - 要清除的键
    • invalidateAll

      public void invalidateAll()
      清除所有缓存
    • isCached

      public boolean isCached(K key)
      检查是否已缓存
      Parameters:
      key - 要检查的键
      Returns:
      true表示已缓存,false表示未缓存